2016-07-27 80 views
0

我目前有這個jqGrid列搜索選項定義;jqGrid搜索選項爲NOT值

colDefs.Append(",stype: 'select', searchoptions: { sopt: ['eq', 'ne'], value: ':All;99:Yes;1:No'}"); 

因此,它正確地篩選爲值爲99的搜索選項'是'和值爲1爲'否'。

我怎樣才能使它過濾到99以外的任何東西(即不是99)的'不'而不是1?

我嘗試了一些猜測像...; 99:。沒有'}」,但他們只是錯誤

用戶不能或要求的Equals /不等於或任何其他過濾選項之間做出選擇,他們「全部」,「是」或「否」的三個固定選項中選擇。字符串),'否'只顯示值爲'1'的記錄

我的目標是什麼'所有'應該顯示所有記錄,'是'應該只顯示值爲'99'的記錄,'否'應顯示值不是'99'的所有記錄。 我可以定義'searchoptions'來做到這一點嗎?

單元格數據類型是字符串。

FilterToolbar通過

$('#' + this.instance + '_GridContainer_grid').jqGrid('filterToolbar', { 
    stringResult: true, 
    defaultSearch: 'cn' 
}); 

過濾是本地的,而不是服務器定義。

謝謝!

+0

對不起,但是你完全不清楚你做了什麼。 「colDefs.Append(...)」語句可能錯誤或正確取決於上下文。 jqGrid是純粹的JavaScript **產品。您應該包含JavaScript代碼以防止誤解。你寫「我做過濾器」。你是什​​麼意思?你使用搜索對話框,filterToolbar,還是直接在'postData'中設置過濾器?你使用哪種'datatype'?你是在本地過濾*還是在服務器上過濾?您使用哪個版本的jqGrid,以及哪個版本的jqGrid(免費jqGrid,商業版Guriddo jqGrid JS或舊版jqGrid版本<= 4.7)? – Oleg

+0

colDefs代碼是正確的;這是來自具有許多工作網格的現場系統。抱歉過濾器混亂;在這個系統中,搜索選項定義了列過濾,因此在標題行下面的第一行中存在(在這種情況下)「全部,是,否」下拉菜單。根據searchoptions代碼中定義的搜索條件,從下拉式過濾器中選擇結果。我繼承了這個,所以不要開槍射擊!我希望深入瞭解'sopt'的運作情況和(我認爲)如何爲一列定義單獨的'ne'和'eq'規則。版本是4.6.0。 – AnotherFineMess

+0

**你使用哪種'datatype'?你是在本地還是在服務器上過濾?**如果你沒有發佈相應的JavaScript代碼,很難跟蹤你。我盡力解釋。看起來你使用'filterToolbar'方法來創建[過濾器工具欄](http://www.trirand.com/jqgridwiki/doku.php?id=wiki:toolbar_searching)。 **您使用了哪個「filterToolbar」選項?**例如'searchOperators:true'選項允許用戶選擇過濾器操作(不等於)。你需要通過你的程序設置過濾器*還是用戶應該有可能選擇'ne'操作? – Oleg

回答

0

如果filterToolbar沒有searchOperators: true選項,然後從sopt第一搜索操作將被使用。您可以將sopt: ['eq', 'ne']更改爲sopt: ['ne']或更改爲sopt: ['ne', 'eq'],以在列中應用「不等於」操作。

這種設置的原因如下。過濾器工具欄和搜索對話框將使用searchoptions(請參閱herehere)。如果列中不存在searchoptions.sopt,則搜索操作defaultSearch(用作filterToolbar的選項)適用於的所有列。如果要使用值爲1,2,... 11,12,13的選擇,則搜索值'1'將顯示具有值1,11,12,13 ...的行,因爲所有值包含子串'1'。因此,如果使用stype: 'select',則通常總是定義searchoptions.sopt

+0

我想我現在明白如何定義sopt ['eq']來匹配特定的[值]。但在同一個filterToolbar下拉列表中,我想要一個選項來過濾除'[value]之外的所有內容「。這甚至有可能,可能與searchOperators完全不同的機制? – AnotherFineMess

+0

@AnotherFineMess:我不明白這個問題。試試'{sopt:['ne','eq'],value:':All; 99:not 99; 1:Not 1'}「'你可以通過升級到[free jqGrid] (https://github.com/free-jqgrid/jqGrid)4.13.4,我開發的jqGrid的分支。參見[wiki文章](https://github.com/free-jqgrid/jqGrid/wiki/Custom-filtering-searching-Operation),[the answer](http://stackoverflow.com/a/28615923/315935),[this one](http://stackoverflow.com/a/29415927/315935), [this one](http://stackoverflow.com/a/29676941/315935)或[this one](http://stackoverflow.com/a/372​​62509/315935)。 – Oleg