Extjs4 GridStore 过滤数据

GridStore 的filterBy方法可以对store里面的数据进行过滤,返回根据指定条件过滤后的数据。

1.准确过滤指定数据

var name = Ext.ComponentQuery.query('textfield[name=filename]')[0].getValue();   	
var grid = Ext.ComponentQuery.query('gridpanel[name=gridpanel1]')[0];

/* function(item)    item可以随便写*/
grid.store.filterBy(function(item) { 
   return item.data.name == name;
});
表格过滤只过滤名字一样的,不能模糊过滤。

2. 模糊过滤

var name = Ext.ComponentQuery.query('textfield[name=filename]')[0].getValue();   	
var grid = Ext.ComponentQuery.query('gridpanel[name=gridpanel1]')[0];
//每一次调用之前,过滤掉之前的筛选条件
grid.store.clearFilter(true);
    
grid.store.filterBy(function(item) { 
  if(item.data.name.indexOf(name) != -1 ){
       return item;
   }
});

indexOf 判断是否含有指定字符串,没有则返回 -1

猜你喜欢

转载自blog.csdn.net/loveLifeLoveCoding/article/details/84253022