我必须从分隔的Ext.form.Panel中插入页面顶部的一组textfield / combobox中过滤网格存储。 我使用此代码进行网格过滤:
doGridFilters : function() {
//storeClients.clearFilter();
var client_Id = Ext.getCmp('Id_form').getValue();
var filter1 = Ext.create('Ext.util.Filter',{
root:'list',
comparison: 'eq',
property: "Id",
value: client_Id
});
storeClients.getProxy().extraParams = { filter: filter1 };
storeClients.load();
},
但商店不执行任何类型的过滤器。
任何人都可以帮助我吗?
答案 0 :(得分:3)
远程过滤非常简单:
...filter:[{property:'Name', value:'value'}]...
就是这样。每次应用过滤器之前,都可以更改remoteFilter
属性。对于你的情况:
doGridFilters : function(grid) {
var store = grid.store;
store.clearFilter();
store.remoteFilter = true;// optional
var client_Id = Ext.getCmp('Id_form').getValue();
store.on('load', function(s){ s.remoteFilter = false; }, this, { single: true }) // optional
store.filter("Id",client_Id);
}
注意: 代理将始终只应用属性 - 值配对过滤器,仅此而已[ExtJS 4.1.1]更多,您将需要覆盖负责的代理函数