CheckBox 作为 jqGrid 过滤器

CheckBox as jqGrid Filter

是否有机会使用 CheckBox 作为 jqGrid 过滤器? 假设我的字段值只有 0 和 1。 如果选中复选框,则过滤值将为 1,不过滤。

不在过滤器工具栏中使用复选框的原因很简单:需要 3 种状态的复选框:选中、未选中和未定义:

  • "checked" state 表示通过 checked 过滤(在您的情况下为 1 个值)
  • "unchecked" 状态表示未选中过滤(在您的情况下为 0 值)
  • "not-defined"状态表示不按列过滤

因为那个主要使用 属性 之类的

stype: "select", searchoptions: { sopt: ["eq", "ne"], value: ":Any;1:Yes;0:No" }

在过滤器工具栏中有下拉 select 元素。文本 "Any"、"Yes" 和 "No",如值 1 和 0 可以根据您的要求更改为其他值。

已更新:jqGrid 允许通过使用 stype: "custom" 并实现 custom_elementcustom_value 回调来创建自定义搜索界面 searchoptions 参见 the old answer 和搜索对话框。我仍然不建议您这样做,因为它会使事情变得更加复杂,而对用户没有任何实际好处。我敢肯定,有些用户会要求您过滤非检查状态:用户越多,意见就越多。 Select 是标准接口,大家都知道,大家都理解它的意思。

我将旧的演示修改为 the following,它演示了搜索工具栏中 stype: "custom" 的可能性。点击过滤器工具栏的自定义控件后,会看到如下图:

我在 cause free jqGrid 的 demo 中使用了 jqGrid 的分支 - 我从 2014 年底开始开发的分支。