JQGrid filterToolbar

时间:2011-04-06 09:59:56

标签: jqgrid

过去2天我一直坚持这个问题。很多谷歌搜索,但无法找到确切的答案。

以下是JQGrid定义

$("#tblresults").jqGrid({
            datastr: data,
            datatype: 'jsonstring',
            height: 230,
            colNames: colNames,
            colModel: colModel,
            rowNum: -1,
            viewrecords: true,
            loadComplete: function() {
                ChangeSize('#tblresults', 70);
            }
        });

这是过滤器定义

    $("#tblresults").filterToolbar({ searchOnEnter: true, stringResult: true, defaultSearch: "cn", groupOp: "AND" });

我从一个简单的getJSON调用中获取数据。但是,当我尝试使用过滤器时,没有任何作用。 我调试了代码并发现jqgrid在内部调用reloadgrid,这使数据消失。

任何人都可以告诉我如何在客户端完全过滤jqgrid。 我使用的是v3.8,我了解到jqgrid v3.7已经有了这个客户端过滤逻辑。

先谢谢

2 个答案:

答案 0 :(得分:3)

你有数据首先你不应该使用-1作为rowNum的值。而不是像rowNum:1000那样使用任何可靠的值。更好的方法是使用本地数据分页。在这种情况下,您应该设置示例rowNum:10, rowList:[5,10,20,100]

如果从服务器每ajax调用获得jqGrid的输入参数colNamescolModeldata参数,则还应考虑使用data参数而不是{ {1}}。如果datastr应从datatype更改为'jsonstring'

其他常见参数如'local'gridview:true对您也很有用。第一个(height:'100%')只是改善性能而没有任何缺点,第二个(gridview:true)将遵循选择没有垂直滚动条的最佳网格高度。它可以很好地与本地数据分页相结合(像height:'100%'这样的参数)。

答案 1 :(得分:0)

添加这些参数,您的工具栏搜索应该有效。当我使用jqgrid时,我也遇到了类似的问题。

search:true,
loadonce:true,