14

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

是否有不同的 API 来重新加载数据?还是我应该先用一些方法来清理桌子?

4

2 回答 2

26

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

于 2009-08-19T15:25:00.477 回答
15

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

于 2009-08-18T23:47:18.840 回答