JQGrid过滤器工具栏

JQGrid过滤器工具栏,jqgrid,Jqgrid,在过去的两天里,我一直在研究这个问题。在谷歌上搜索了很多次,但没有找到确切的答案 以下是JQGrid定义 $("#tblresults").jqGrid({ datastr: data, datatype: 'jsonstring', height: 230, colNames: colNames, colModel: colModel, rowNum:

在过去的两天里,我一直在研究这个问题。在谷歌上搜索了很多次,但没有找到确切的答案

以下是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" });
这是过滤器的定义

$("#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有这个客户端过滤逻辑


提前感谢

您是否有数据?首先,您不应该使用-1作为
rowNum
的值。不要使用任何可靠的值,如
rowNum:1000
。更好的方法是使用本地数据分页。在这种情况下,您只需设置例如
rowNum:10,rowList:[5,10,20100]

如果从Ajax调用服务器获得JQGRID的输入参数<代码> COLMODE 、<代码> COLMODE 和<代码>数据< /代码>参数,您还应考虑使用<代码>数据< /代码>参数,而不是<代码> DATAST/<代码>。在这种情况下,

数据类型应从
'jsonstring'
更改为
'local'


其他一些常用参数,如
gridview:true
height:'100%”
也可以用于您。第一个(
gridview:true
)只是在没有任何缺点的情况下提高了性能,第二个(
height:'100%”
)将在没有垂直滚动条的情况下选择最佳网格高度。它可以很好地与本地数据分页相结合(参数如
rowNum:10,rowList:[5,10,20100]
)。

添加这些参数,您的工具栏搜索应该可以工作。在开始使用jqgrid时,我也遇到过类似的问题

search:true,
loadonce:true,

我在某处读到rowNum=-1将显示网格中的所有记录,这是我的要求。记录计数在任何情况下都不会超过200,所以垂直滚动条是可以的。我会尝试更改数据类型和数据参数,看看是否有效。但是现在我已经使用了旧的方法来过滤服务器上的记录。@Nilesh:value
rowNum=-1
如果您将该值发送到服务器,则可以。该值在jqGrid的旧版本中使用(