感謝您指點定義問題的定製一元操作。我承諾代碼free jqGrid的the changes允許指定新選項customUnaryOperations
內部的自定義一元運算。
The demo定義了兩個自定義篩選操作:「em」(「爲空」)和「nm」(「不爲空」)並使用「Amount」和「Notes」列中的操作。 「註釋」列另外使用標準(預定義)「nu」(「is null」)和「nn」(「非空」)操作。列 「金額」 使用
searchoptions: {sopt: ["eq", "ne", "em", "nm"]}
和列 「注」 使用
searchoptions: {sopt: ["cn", "bw", "ew", "eq", "bn", "nc", "en", "nu", "nn", "em", "nm"]}
還演示使用customSortOperations
和新customUnaryOperations
:
customUnaryOperations: ["em", "nm"],
customSortOperations: {
em: {
operand: "=''",
text: "is empty",
filter: function (options) {
var v = options.item[options.cmName];
if (v === undefined || v === "") {
return true;
}
}
},
nm: {
operand: "!=''",
text: "isn't empty",
filter: function (options) {
var v = options.item[options.cmName];
if (v !== undefined && v !== "") {
return true;
}
}
}
}
嗨奧列格,該X在正確的在使用Unary操作時不能使用該列。我想這是因爲沒有重置的價值,所以用戶不會因爲點擊X而得到任何反應。退出這種模式的唯一方法是選擇一個不同的操作,然後點擊X. – Tal
@Tal:我認爲你是對的。如果當前操作是一元操作,則在點擊「X」時將搜索操作重置爲默認搜索操作(searchoptions.sopt [0]或o.defaultSearch)會很有幫助。我將在免費jqGrid的代碼中進行更改,並會通知您刷新您的免費jqGrid。我現在必須做一些其他的事情,但我稍後會發布你的評論。 – Oleg
@Tal:我向GitHub提交了[相應更改](https://github.com/free-jqgrid/jqGrid/commit/a6e0aa1b8d83a77155c6e10c1e5758c22a238be9)。請重新載入您使用的免費jqGrid,並立即測試「X」的行爲。順便說一下[演示](http://www.ok-soft-gmbh.com/jqGrid/OK/formEditOnDoubleClick-jqueryui-fa3-customUnaryOperations.htm)從GitHub加載jqGrid,因此您可以使用它來表達對我做了最新的變化。 – Oleg