同步jqGrid filterToolbar和searchGrid过滤器

时间:2012-03-15 18:12:16

标签: search jqgrid

我正在使用带有filterToolbar和searchGrid的jqGrid。

当我使用filterToolbar执行搜索然后打开searchGrid窗口时,过滤器会被填满。

但是当我在此之后改变某些内容时,此功能就会停止工作。

我可以通过测试此示例来解释:http://srv04.wln.com.br/cpsadmin/sample

尝试在filterToolbar中为字段名称,地址和城市键入“a”,然后执行搜索(在任何输入中焦点时按返回)。

之后,单击footerBar的“Find Records”按钮,这将打开搜索窗口,根据filterToolbar搜索选项填充3个字段。

但是如果我们在此之后尝试做某事,那么没有什么可以再做了,因为我们刷新页面。

我希望获得两者的强大功能,filterToolbar和searchGrid,以及两种方式协同工作。

1 个答案:

答案 0 :(得分:1)

您可以尝试添加recreateFilter: true搜索选项。为了能够找到问题的确切原因,您应该在演示页上使用jquery.jqGrid.src.js而不是jquery.jqGrid.min.js

我建议您另外使用我在the answer中建议的refreshSerchingToolbar功能。另外一个answer the demo对您来说也很有趣。它显示了如何在localStorage中保存最后一次搜索过滤器(以及其他一些信息)。在访问同一页面时,将应用先前使用的搜索过滤器。

更新:这有点尝试了,但我个人使用的设置

$.extend($.jgrid.search, {
    multipleSearch: true,
    multipleGroup: true,
    recreateFilter: true,
    closeOnEscape: true,
    closeAfterSearch: true,
    overlay: 0
});

或某些更高级的版本作为我的默认高级搜索设置。用于表单编辑的recreateFilter: true recreateForm: true 总是我的默认设置。我建议多次(例如,参见here)将设置设为jqGrid默认值,但建议仍未得到答复。 Tony(jqGrid的开发者)对此问题有另一种看法。