@king-
2014-12-04T15:01:20.000000Z
字数 1400
阅读 1313
Extjs
javascrip
在使用store的时候,我们有时会遇到这样的问题,根据查询过来的的数据存在store中,但是在查询后的store里面却存在部分我不需要的(这样的数据不能通过条件请求后台接口处理),这个时候我们就必须想方设法的去除我们不需要的这些数据,这样,ExtJs 4 中的过滤器就起到了至关重要的角色了。
在使用过滤器的时候有很多种方法:
model: 'MDM.model.AppStore',
pageSize: 10,
proxy: {
type: 'ajax',
url: '/justsy/appPackage/search',
reader: {
type: 'json',
root: 'content',
totalProperty: 'totalConunt',
successProperty: 'success'
},
startParam: 'pageStart',
limitParam: 'pageSize'
},
filters: [
function(record) {
if(record.data.packageType == "3" || record.data.packageType == "4"){
return true;
}else{
return false;
}
}
]
store : new Ext.data.Store({})
//先在view中new出store在引用当前的这个store
var stores = Ext.create('Ext.data.Store', {
model: 'MDM.model.AppStore',
pageSize: 10,
proxy: {
type: 'ajax',
url: '/justsy/appPackage/search',
reader: {
type: 'json',
root: 'content',
totalProperty: 'totalCount',
successProperty: 'success'
},
startParam: 'pageStart',
limitParam: 'pagesSize'
},
filters: [
function(record) {
if(record.data.packageType == "3" || record.data.packageType == "4"){
return true;
}else{
return false;
}
}
]
})
'beforquery' : function(e){
var combo = e.combo;
var val = e.query;
combo.store.filterBy(function(record, id){
return record.data.type == "PkgType";
});
combo.expand();
return false;
}