【问题标题】:Filter jqGrid programmatically on client?在客户端以编程方式过滤 jqGrid?
【发布时间】:2010-01-07 02:14:15
【问题描述】:

有没有办法以编程方式过滤当前显示在 jqGrid 中的数据(在 Javascript 中,而不是在服务器端)?所有搜索示例似乎都依赖于使用 jqGrid 自己的搜索 UI,这对我不起作用。例如,我希望能够根据页面上其他地方的用户操作进行过滤。

我在想象类似的东西

jQuery("#grid_id").filter('CategoryID', selectedCategoryID);

其中 CategoryID 是网格中的一列,而 selectedCategoryID 包含例如用户在选择元素中选择的值。

【问题讨论】:

    标签: jqgrid filtering


    【解决方案1】:

    如果您想先对数据进行预过滤:

    $('#myGrid').setGridParam({ data: filtereddataarray }).trigger("reloadGrid");
    

    filtereddataarray 仅包含您要为此视图显示的记录

    如果您想以编程方式构建过滤器(我主要使用这种方法):

    var filters = { "groupOp": "AND", "rules": [{ "field": "id", "op": "eq", "data": "9" }, { "field": "amount", "op": "ge", "data": "10" }, { "field": "name", "op": "cn", "data": "do i"}] };
    
    //To filter:
    jqGridFilter(filters , $('#myGrid'));
    
    //To reset: 
    jqGridFilter(null, $('#myGrid'));
    
        function jqGridFilter(filtersparam, grid) {
            grid.setGridParam({
                postData: {
                    filters: filtersparam
                },
                search: true
            });
            grid.trigger("reloadGrid");
        }
    

    【讨论】:

      【解决方案2】:

      您可以将 JSON 作为数据传递并使用 setGridParam 方法重新加载数据!

      我从来没有尝试过,不知道如何让 jqgrid 使用您的客户端数据而不是点击 URL!

      你有运气吗?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-11
        • 2018-09-08
        • 2011-12-03
        • 1970-01-01
        相关资源
        最近更新 更多