【问题标题】:reload a loaded jqGrid with a different table data使用不同的表数据重新加载已加载的 jqGrid
【发布时间】:2009-08-18 23:07:19
【问题描述】:

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

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

【问题讨论】:

    标签: jquery jqgrid


    【解决方案1】:

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

    【讨论】:

    • URL 究竟应该包含什么?文档很模糊,他们只是说:The url of the file that holds the request我不知道那是什么意思。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2011-09-11
      • 2011-11-07
      • 2015-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多