我有一个以两种不同模式显示表格的页面。在每种模式下,我都有一组不同的列。我正在使用 jqGrid 来显示表格。当我第二次尝试加载表时(为此使用相同或不同的列),表将不会刷新数据。
是否有不同的 API 来重新加载数据?还是我应该先用一些方法来清理桌子?
我今天遇到了同样的问题。我使用 jqGrid 从一个或多个表单字段中指定的参数显示搜索结果。我在搜索按钮上有一个 click 事件,在字段本身上有一个 keydown 事件来捕获返回键。这两个事件都调用一个函数,该函数序列化表单并创建初始 jqGrid。
在初始网格中,我可以选择在网格完成时调用函数 reloadEvents:
gridComplete: reloadEvents
在 reloadEvents 函数中,我有:
$("#frmSearch").bind("keydown", function(e) {
if (e.keyCode == 13) {
$('#searchList').setGridParam({url:'/model/actSearch.cfm?'+$('#frmSearch').serialize()});
$('#searchList').trigger("reloadGrid");
}
});
$('#btnSearch').click(function(){
$('#searchList').setGridParam({url:'/model/actSearch.cfm?'+$('#frmSearch').serialize()});
$('#searchList').trigger("reloadGrid");
});
如果您以不同的方式在网格中加载数据,您可以使用 setGridParam 来更改您需要的任何内容。reloadGrid 方法应该根据您更改的参数刷新您的数据。
使用“GridUnload”方法将卸载网格并保留原始 HTML 表格。下一次创建网格的调用将使用任何给定的模式从头开始