Jqgrid 过滤器工具栏不工作

Jqgrid 过滤器工具栏不工作,jqgrid,Jqgrid,文本框显示在标题下方,但输入值时不会发生任何事情。 虽然点击回车按钮后显示“加载”标志,但网格中没有变化。 我使用下面的代码过滤工具栏。我在jqgrid定义之后,在$.ready函数中编写了这段代码(在我的代码中,其他一切都很好)。 我的浏览器是IE7 jQuery("#list").jqGrid({ url: 'someactionclass' datatype: "json", mtype: "POST", colNames , col

文本框显示在标题下方,但输入值时不会发生任何事情。 虽然点击回车按钮后显示“加载”标志,但网格中没有变化。 我使用下面的代码过滤工具栏。我在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() } }); 

您使用服务器端数据类型:
数据类型:“json”
。在情况下,服务器负责数据的排序、分页和过滤。jqGrid只需添加过滤参数作为附加参数,并将其发送到服务器

如果要使用数据的本地端排序、分页和筛选,可以使用
loadonce:true
参数。在这种情况下,您应该包括来自网格的整个数据(所有页面)。您应该了解,在这种情况下,网格的
数据类型将在第一次数据加载后自动从
数据类型:“json”
更改为
数据类型:“local”
。如果需要从服务器重新加载数据,则必须将
数据类型
更改回与
setGridParam
方法相关的原始
数据类型:“json”
值,然后重新加载网格


您应该使用
gridview:true
jqGrid参数来提高jqGrid性能。在任何情况下,本地排序和筛选的可接受性能只能针对数量不太多的行。使用不太大的页面大小(例如25行,可以不滚动地放置在页面上)可以进一步提高性能。

@Oleg在添加此代码后。它仍然不起作用。gridview:true,loadonce:true,loadComplete:function(){$('demandsList')。setGridParam({datatype:'json});$('demandsList')。trigger(“reloadGrid”);}@Oleg在上面添加的代码的帮助下,我重新编写了整个代码,然后开始工作,但使用“loadonce:true”分页无法正常工作。只显示第一页,没有进入下一页的选项,但如果我删除“loadonce:true”,则页数为“4”,但filterToolbar不起作用。@Chhaya:我写过,在使用
loadonce:true
时,服务器必须在响应中放入全部数据(所有页面)。我假设您的服务器代码使用了
rows
参数(来自
rowNum
)。您应该忽略该值。或者,您可以在服务器上使用
rowTotal
jqGrid参数和
totalrows
参数。@Oleg还有一个疑问。如何使用rowTotal一次加载网格中的所有数据,“rowTotal:-1”不起作用。是否存在从数据库获取所有数据的默认值?@Chhaya:您不能对
rowTotal
rowNum
使用负值。我认为“rowTotal:10000”足够大了。如果您有或可能有太多的数据行,则永远不要使用本地端排序或筛选。您不应该忘记,JavaScript在一些浏览器IE6-IE8中主要使用解释器,工作速度非常慢。因此,您可以在服务器端实现排序、分页和过滤,这将在本机代码中完成,因此至少可以加快1000倍。