filterToolbar不工作

时间:2011-06-16 12:55:09

标签: jqgrid

文本框出现在标题下方,但在输入值时没有发生任何事情。 虽然在点击输入按钮后显示“加载”符号但网格没有变化。 M使用filterToobar下面的代码。我已经在jqgrid的定义之后和$ .ready函数内部编写了这段代码(在我的代码中,其他方法正常工作)。 我的浏览器是IE7

jQuery("#list").jqGrid({ 
    url: 'someactionclass'
    datatype: "json",
    mtype: "POST",       
    colNames ,
    colModel,
    rowNum:25,
    rowList:[25,50,75,100],
    pager: '#pager',
    sortname: 'rgs_id',
    height: '100%',
    sortorder: "asc", 
    editurl:'someactionclass'
}); 
jQuery("#list").jqGrid('filterToolbar', { stringResult: true, searchOnEnter: false });
jQuery("#list").jqGrid('navButtonAdd', "#pager",
    { caption: "Toggle", title: "Toggle Search Bar", buttonicon: 'ui-icon-pin-s', 
      onClickButton: function () { $("#list")[0].toggleToolbar() } }); 

1 个答案:

答案 0 :(得分:1)

您使用服务器端数据类型:datatype: "json"。在的情况下,服务器负责对数据进行排序,分页和过滤。 jqGrid只是将过滤参数添加为附加参数,然后发送到服务器。

如果要使用本地端排序,分页和数据过滤,可以使用loadonce:true参数。在这种情况下,您应该从网格中包含服务器响应整个数据(所有页面)。您应该了解,在第一次数据加载后,网格的datatype会自动从datatype: "json"更改为datatype: "local"。如果您需要从服务器重新加载数据,则必须使用datatype方法将datatype: "json"更改回原始setGridParam值,然后重新加载网格。

您应该使用gridview:true jqGrid参数来改善jqGrid性能。无论如何,只有不那么多行才能获得本地排序和过滤的可接受性能。使用不大的页面大小(例如,可以放置在页面上而不滚动的25行)可以进一步提高性能。