extjs - 如何过滤多个extjs网格列?

标签 extjs filter grid extjs4 store

要过滤一个网格列,我们可以使用:

{
     xtype: 'button',
     text:'Search',
     handler:function(){

        store.clearFilter();
        var searchValue = Ext.getCmp("textFieldId").getValue();
        store.load().filter('GridFieldName', searchValue);

     }                   
}

但是如何一次搜索多个字段,例如:
{
    xtype: 'button',
    text:'Search',
    handler:function(){

        store.clearFilter();
        var searchValue = Ext.getCmp("textFieldId").getValue();
        store.filter([
           {property: "GridFieldName", value: searchValue},
           {property: "GridFieldName1", value: searchValue}
        ]);
    }                   

}

有任何想法吗?

编辑:

奇怪的是,在两种情况下,只有一次搜索有效:

这有效:
store.filter([
      { property: "FirstName", value: searchValue }
]);

这有效:
var FirstNameFilter = new Ext.util.Filter({
   property: "FirstName", value: searchValue
});

store.filter(FirstNameFilter);

但这不是:
store.filter([
      { property: "FirstName", value: searchValue },
      { property: "LastName", value: searchValue }
]); 

或这样做:
 var filters = [
     new Ext.util.Filter({
          property: "FirstName", value: searchValue
     }),
     new Ext.util.Filter({
          property: "LastName", value: searchValue
     })
 ];
 store.filter(filters);

最佳答案

尝试创建Ext.util.Filter的实例,如下所示:

var filters = [
 new Ext.util.Filter({
  property: "GridFieldName", value: searchValue
 }),
 new Ext.util.Filter({
  property: "GridFieldName1", value: searchValue
 })
];
store.filter(filters);

或者,您可以使用自定义逻辑创建单个过滤器:
var filters = [
     new Ext.util.Filter({
      filterFn: function(item){
         return item.get('GridFieldName') == searchValue && item.get('GridFieldName1') == searchValue;
      }
     })
];
store.filter(filters);

关于extjs - 如何过滤多个extjs网格列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7996028/

相关文章:

angularjs - 在 Angular ng-repeat 中每隔 2 个项目创建行 - Ionic Grid

matlab - 向量的平均非连续段

WPF 更改网格和网格边框不透明度而不影响子项

Extjs : How to enable/disable a checkbox using renderer while loading a grid

使用供应商/第三方库构建的 extjs 包

HBase : Designed to filter data row-wise, 中的过滤器或按列过滤,或两者兼而有之?

arrays - Mongo 过滤/查找嵌入数组中匹配条件的所有元素并返回周围文档?

extjs - 使用 MixedCollection 数据存储

javascript - 无法将元素/组件附加到 Extjs 面板

rest - 使用 Ext JS 访问复杂的 REST 资源