【问题标题】:ExtJs-Apply dynamic filter on "Numeric" Filter type not workingExtJs-在“数字”过滤器类型上应用动态过滤器不起作用
【发布时间】:2018-04-28 08:32:12
【问题描述】:

我正在努力在 ExtJs(5.1.3) 网格列上动态应用过滤器(我得到需要在网格存储中搜索的过滤条件值)。它在“字符串”类型过滤器中对我有用。但对于任何一个都没有剩下的过滤器类型说列表,日期我无法应用过滤器来存储。这是我的代码示例,

if (cols[i].FilterType == "number" && (cols[i].Filter[0] != null || cols[i].Filter[1] || cols[i].Filter[2])) {
                            var fil = {
                                property: cols[i].DataIndex,
                                value: {
                                    gt: cols[i].Filter[0],
                                    lt: cols[i].Filter[1],
                                    eq: cols[i].Filter[2]
                                }
                            };
                            filterArray.push(fil);
                        }

                    }
                    listStore.filter(filterArray);

【问题讨论】:

  • 您能否添加更多代码,例如网格配置和配置,这些代码适用于您使用的字符串和事件?你在使用“gridfilters”插件吗?

标签: extjs extjs5 extjs-grid extjs-stores


【解决方案1】:

找到了问题的解决方案,

        var filterArray=[];  
        //for numeric filter
          var fil = {
                     operator: lt, //type may be lt,gt,eq
                     value: 500,
                     property: grid.columns[i].dataIndex,
                     type: "float"
                     };
         filterArray.push(fil); 
      store.addFilter(filterArray);
  • 在上面的代码中,“filterArray”是一个普通数组,其中多个 存储过滤器的类型。

  • 以类似的方式我们可以过滤日期类型的过滤器。

【讨论】:

    猜你喜欢
    • 2014-12-12
    • 1970-01-01
    • 2017-11-19
    • 1970-01-01
    • 2016-01-23
    • 1970-01-01
    • 2012-02-23
    • 1970-01-01
    • 2021-11-22
    相关资源
    最近更新 更多