感谢您指点定义问题的定制一元操作。我承诺代码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