2011-03-11 104 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給你一個類似那種你正在尋找搜索的搜索範圍內。)