我有一个页面,以两种不同的模式显示一个表格。在每种模式中,我都有一组不同的列。我正在使用jqGrid来显示表格。当我第二次尝试加载表时(相同或不同的列),表不会刷新数据。
是否有不同的API来重新加载数据?或者我应该先使用某种方法清除表格?
答案 0 :(得分:26)
我今天遇到了同样的问题。我使用jqGrid显示一个或多个表单字段中指定的参数的搜索结果。我在搜索按钮上有一个点击事件,在字段本身上有一个keydown事件来捕获返回键。这两个事件都调用一个函数来序列化表单并创建初始的jqGrid。
在初始网格中,我可以选择在gridCompletes时调用函数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方法应根据您更改的参数刷新数据。
答案 1 :(得分:15)
使用“GridUnload”方法将卸载网格并保留原始HTML表格。下一次创建网格的调用将从头开始使用任何给定的模式