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