2012-02-10 2 views
1

У меня есть контроллер пружины;Загрузочная сетка ExtJS после Ext.Ajax.request

@RequestMapping("/showreport") 
@ResponseBody 
public Map<String, ? extends Object> showreport 
     (parameters) 
{ 
    List<Object> listOne = ...; 
    Object objectOne = ...; 


    Map<String,Object> modelMap = new HashMap<String,Object>(3); 
    modelMap.put("total", listOne.size()); 
    modelMap.put("data", listOne); 
    modelMap.put("summary", objectOne); 
    modelMap.put("success", true); 
    return modelMap; 
} 

и у меня есть ExtJS код, как это, чтобы показать сетку в модальном окне

Ext.Ajax.request({     
     url: 'url', 
     params: 
     { 
      // parameters 
     }, 
     success: function (response) 
     {      
      var jsonData = Ext.util.JSON.decode(response.responseText); 

      store.proxy = new Ext.ux.data.BufferedPagingMemoryProxy(jsonData.data); 
      /* what will I do */ 

      new Ext.Window({ 
       title: 'title', 
       plain: true, 
       border: false, 
       modal: true, 
       items: [grid], 
       height:Ext.getBody().getViewSize().height - 100, 
       width:Ext.getBody().getViewSize().width*0.8 //80% 
      }).show(); 

     }, 
     failure: function(){}, 
    }); 

и моя сетка, магазин и читатели, как это;

Я хочу загрузить сетку в окно после запроса ajax. Я открыл окно, но я не смог загрузить хранилище с данными. мой json такой:

{"total": 56, "data": [{"a": "1", "b": "2", "c": "3", "d": "4" , "e": "5", "f": "6", "g": "7", .....}], "summary": {"a": "1", "b": «2», «c»: «3», «d»: «4», «e»: «5», «f»: «6»}, «успех»: истина}

может вы поможете мне, чтобы исправить это?

ответ

1

Мы должны включить мета-теги json в контроллере. Reader's idProperty должен совпадать с json's idProperty. Чем мы можем использовать var jsonData = Ext.util.JSON.decode(response.responseText); grid.store.loadData(jsonData);

0

Я не знаю, что делает этот плагин, но, похоже, данные не загружаются в магазин. Возможно, достаточно позвонить store.load().

+0

Спасибо за ваш ответ, я решил свою проблему. Мы должны включать мета-теги json в контроллере. IdProperty читателя должен совпадать с idProperty json. Чем мы можем использовать 'var jsonData = Ext.util.JSON.decode (response.responseText); grid.store.loadData (jsonData); ' – vtokmak

Смежные вопросы