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");