我尝试了很多方法,但没有成功,所以在这里张贴。
我正在使用带有jqgrid的spring-jsp。以下是我的网格代码
$("#list").jqGrid({
url: 'controllerURL1' ,
//data: maindata,
datatype: 'json',
// height: 500,
mtype : 'GET',
page: 1,
colNames : ['Col1','Col2'],
colModel : [{
name : 'col1', index : 'col1', width : 300, resizable:true,sortable:true,align: 'left',sorttype:'string'},
{name : 'col2', index : 'col2', width : 80, resizable:true,sortable:true,align: 'left',sorttype:'string'},
],
loadonce:true,
autowidth: true,
pager : $('#pager'),
altclass:'myAltRowClassEven',
loadComplete: function() {
$("tr.jqgrow:even").css("background", "#E0E098");
// $("tr.jqgrow:even").css("border-color", "black" );
$("tr.jqgrow:odd").css("border-color", "#79B7E7" );
},
});
$("#list").jqGrid('filterToolbar',{width:'auto',height:'auto',position:"left",stringResult: true, searchOnEnter : false , defaultSearch: 'cn', ignoreCase: true});
目前我通过URL使用工作正常。但由于某些条件,我需要从打开此页面的同一控制器方法加载此数据。所以我需要将数据作为本地数据。
我无法找到语法或如何将此网格局部变量与spring对象绑定。这个网格是jsp中spring类型的一部分。我已经尽力解释这个问题,如果需要更多的东西,我会很乐意发布。
我的json如下所示:
{"rows":[{"cell":["col1data","col2Data"]}]}
在java中创建如下
JSONObject responseData = null;
JSONArray cellarray = null;
try {
//
responseData = new JSONObject();
cellarray = new JSONArray();
/*responseData.put("total", listDiffGV.size());
responseData.put("page", "1");*/
JSONArray cell = new JSONArray();
JSONObject cellobj = new JSONObject();
int i = 0;
for (Class1 str1 : listObject) {
cell.add((String) str1.getCol1) ;
cell.add((String) str1.getgetCol2) ;
cellobj.put("cell", cell);
cell.clear();
cellarray.add(cellobj);
i = i + 1;
}
从控制器返回此对象
writer.write(jsonObj.toString());