ExtJs - 在“数字”过滤器类型上应用动态过滤器不起作用

时间:2017-11-15 07:47:21

标签: extjs extjs5 extjs-grid extjs-stores

我正在努力在ExtJs(5.1.3)Grid列上动态应用过滤器(我得到需要在Grid Store中搜索的过滤条件值)。它在“string”类型过滤器中为我工作。但是没有剩下的过滤器类型说List,日期我无法应用过滤器来存储。这是我的代码示例

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);

1 个答案:

答案 0 :(得分:-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"是一个常见的数组,其中多个 存储过滤器的类型。

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