2011-03-11 101 views
1

我真的很喜欢jqGrid的多重搜索选项,但是它有一个小问题。我无法使任何搜索选项比AND或OR语句列表更复杂。我不能做任何事情像cnd1 AND(cnd2或cnd3),我只限于cnd1或cnd2或cnd3。jqGrid-like搜索模块?

有没有人知道一个搜索插件或脚本,允许这? jqGrid搜索很容易使用和理解,它只是有上述问题。我甚至不关心它是否与表格接口或者发出Ajax请求或任何东西;我只是想找到一些简单的界面给用户,这样他们就可以为查询构建更复杂的过滤条件。

我想通过使用一个类似的条件规范列表来让自己成为一个人,然后允许用户将许多条件聚合成一个组,并且组中的所有条件通过相同的布尔类型(AND /要么)。然后用户可以将组合在一起,这可以实现更复杂的搜索条件。

所以一个例子是grp1和grp4。 grp1只是cnd1。 grp4是grp2或grp3。 grp2是cnd2和cnd3。 grp3是cnd4 AND cnd 5.所以最后,声明是cnd1 AND((cnd2 AND cnd3)OR(cnd4 AND cnd5))。但是,所有这些在屏幕上显得非常复杂。

因此,无论如何,有谁知道一些已经存在的解决方案能够完成我正在寻找的任务(不需要用户实际写出他们的查询)。这甚至有意义吗?

感谢

回答

1

在jqGrid的老jquery.searchFilter.js模块将被替换的下一个版本新的grid.filter.js这将产生filtersthe old format兼容,但它将允许你问的分组完全自由。

看看the demo哪些使用更多新的grid.filter.js(不是最后一个版本)。我为the answer创建了演示。它不使用最新版本的grid.filter.js,但它显示了高级搜索的主要区别。

更多关于新过滤器,你可以阅读here。顺便说一下,3小时前Tony在过滤器模块中添加了模板功能。你可以找到github.com代码(见here最后修改)

我认为新grid.filter.js将解决你的需求,你不需要花费时间在写你自己的插件。

+0

我试图从github使用最新版本的文件,但我无法使用分组功能;我必须使用您演示中的_grid.filter.js_相同版本。此外,新的_grid.filter.js_文件有两个错误,因为它看起来像randId()被移动到_grid.base.js_,并且_filter_中的引用从未更新为'$ .jgrid.randId()'。 另外,是否有任何与新模块相关的新文档? – EvilAmarant7x 2011-03-14 13:29:01

+0

@ EvilAmarant7x:你应该在[三位论坛]中向托尼发布更好的东西(http://www.trirand.com/blog/?page_id=393/bugs/)。 'randId()'的变化在[讨论]之后(http://www.trirand.com/blog/?page_id=393/bugs/small-bug-in-generating-new-id-in-postit-的-editgridrow /)。我没有验证[github](https://github.com/tonytomov/jqGrid)的最新更改。我不知道并参考了新的'grid.filter.js'模块的文档。可能托尼已经写了一些东西,我不知道。对不起,但我没有更多的信息,你可以在github或trirand论坛找到。 – Oleg 2011-03-14 13:41:43

+0

@ EvilAmarant7x:你可能已经看到[这里](http://www.trirand.com/blog/?page_id=393/bugs/randid-in-grid-filter-js/#p22407)'$ .jgrid.randId()'已经在gitthub上修复了。 – Oleg 2011-03-14 16:12:57

0

是否jqGrid的高级搜索提供你在找什么?要查看演示头this link和去下:

新版本3.5>高级搜索

虽然你不一定能键入你正在寻找搜索,它确实给更好地控制搜索。 (而且,你可以模拟AND和OR给你一个类似那种你正在寻找搜索的搜索范围内。)