使用不同的表数据重新加载已加载的jqGrid

我有一个页面,以两种不同的模式显示一个表。 在每种模式中,我都有一组不同的列。 我正在使用jqGrid来显示表格。 当我第二次尝试加载表时(相同或不同的列),表不会刷新数据。

是否有不同的API来重新加载数据? 或者我应该先使用某种方法来清除表格?

我今天遇到了同样的问题。 我使用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方法应根据您更改的参数刷新数据。

使用“GridUnload”方法将卸载网格并保留原始HTML表。 下一次创建网格的调用将从头开始使用任何给定的模式