【问题标题】:How to get filter conditions dropdown next to textbox when filterrow is enabled in jqxGrid?在jqxGrid中启用filterrow时如何获取文本框旁边的过滤条件下拉列表?
【发布时间】:2026-01-15 19:40:01
【问题描述】:

我有一个带有过滤器类型文本框的列,并且我启用了过滤器行,但我需要过滤条件下拉菜单也出现在文本框旁边,因为我需要能够应用多个条件,例如不等于和其他过滤器。

【问题讨论】:

    标签: javascript jqxgrid jqwidget


    【解决方案1】:

    这似乎是可能的,但只能通过许可似乎允许的更改jqxgrid.filter 模块。我将此答案基于 jQWidgets v3.4.0 的代码。 (当然,先去缩小代码也方便。)

    filtertype(如numbertextbox)的几个函数中有switch语句。您可以定义自己的过滤器类型,通过选择一个新名称并在函数定义_updatefilterrowuiclearfilterrowrefreshfilterrow 中添加case 语句来显示带有下拉列表的文本框。对于函数_addfilterwidget,您需要添加自己的案例并复制number 案例的代码,但替换行说

    var A = F._getfiltersbytype("number");
    

    var A = F._getfiltersbytype("string");
    

    使用字符串比较运算符填充下拉列表 - 或者您可以定义自己的过滤器类型,但这当然需要额外的调整。在_applyfilterfromfilterrow 函数中,您还需要根据number 案例的代码添加一个案例,并进行一些调整。基本上,似乎可以做到这一点的是首先删除有关小数点分隔符的部分,其次不通过更改对输入字符串进行类型转换

    y = k.createfilter(d, new Number(p), w, null, u.cellsformat, C.gridlocalization);
    

    y = k.createfilter(d, p, w, null, u.cellsformat, C.gridlocalization);
    

    请注意,这个答案可能不完整,因为我没有进行广泛的测试(但我很想知道任何问题,因为我正在寻找与 BeyondProgramming 相同的功能)。

    【讨论】:

      最近更新 更多