jqgrid: 不错的jQuery表格插件。
目前官方的sample和网友的例子中大多数是初始化时就发送了action,加载一堆数据。
我目前的项目需求:初始化页面时jqgrid表格为空,只要显示表头、框,当用户输入条件,点击查询后发送action。
通过getJSON发送请求,获取到数据集,
数据集中的一部分(一个子节点,为json数组)赋值给jqgrid表格,
其他部分还需要给页面其他元素赋值。
刚开始使用 $("#shtDetailInfoTbl").jqGrid('setGridParam', {
page : 1,
url : qurl,
datatype : "json"
}).trigger("reloadGrid");
但是这种方式就是重新请求,且server返回的数据集我不知道如何用来给其他元素赋值。
目前发现的解决方案:
使用$.getJSON发送请求,在回调函数中对数据集data进行处理。
$.getJSON(qurl, function(data) {
$("#shtDetailInfoTbl").jqGrid('setGridParam', {
datatype : 'local',
data : date.cpiqcrrdo.oary1
}).trigger("reloadGrid");
}
或者
$.extend($.fn.jqGrid, {
setData : function(data) {
this[0].p.data = data;
return true;
}
});
$("#shtDetailInfoTbl").jqGrid('setData', date.cpiqcrrdo.oary1);
$("#shtDetailInfoTbl").trigger("reloadGrid");