У меня есть контроллер пружины;
@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 (){},
});
и моя сетка, магазин и читатели такие;
var Report = Ext.data.Record.create([
{name: 'a'},
{name: 'b', type: 'string'},
{name: 'c', type: 'string'},
{name: 'd', type: 'string'},
{name: 'e', type: 'string'},
{name: 'f', type: 'string'},
{name: 'g'},
{name: 'h'},
{name: 'i', type: 'string'},
{name: 'j'},
{name: 'k', type: 'string'},
{name: 'l', type: 'string'}
]);
var reader = new Ext.data.JsonReader({
totalProperty: 'total',
successProperty: 'success',
idProperty: 'id',
root: 'data'
},
Report);
store = new Ext.data.JsonStore({
id: 'reportID',
reader: reader
});
var grid = new Ext.grid.GridPanel({
id: 'tripDailyReportList',
store: store,
autoHeight : true,
loadMask: true,
autoHeight: true,
columns:[
new Ext.grid.RowNumberer(),
{header: 'headerA', dataIndex: 'a'},
{header: 'headerB', dataIndex: 'b'},
{header: 'headerC', dataIndex: 'c', sortable: true},
{header: 'headerD', dataIndex: 'd', sortable: true},
{header: 'headerE', dataIndex: 'e', sortable: true},
{header: 'headerF', dataIndex: 'f'},
{header: 'headerG', dataIndex: 'g'},
{header: 'headerH', dataIndex: 'h'},
{header: 'headerI', dataIndex: 'i'},
{header: 'headerJ', dataIndex: 'j'},
{header: 'headerK', dataIndex: 'k'}
]
});
Я хочу загрузить сетку в окне после ajax-запроса. Я открыл окно, но я не мог загрузить магазин с данными. мой json такой;
{"всего": 56, "данные": [{"a": "1", "b": "2", "c": "3", "d": "4", "e ":" 5 "," f ":" 6 "," g ":" 7 ", .....}]," summary ": {" a ":" 1 "," b ":" 2 " , "С": "3", "d": "4", "е": "5", "F": "6"}, "успех": истинно}
Вы можете помочь мне исправить это?