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