extjs4.1中服务器端的筛选器存储
我必须从一组文本字段/组合框中筛选网格存储,这些文本字段/组合框插入页面顶部的一个单独的Ext.form.Panel中。 我使用此代码执行网格过滤器:extjs4.1中服务器端的筛选器存储,extjs,filter,extjs4,store,extjs4.1,Extjs,Filter,Extjs4,Store,Extjs4.1,我必须从一组文本字段/组合框中筛选网格存储,这些文本字段/组合框插入页面顶部的一个单独的Ext.form.Panel中。 我使用此代码执行网格过滤器: doGridFilters : function() { //storeClients.clearFilter(); var client_Id = Ext.getCmp('Id_form').getValue(); var filter1 = Ext.create('Ext.util.Filter
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();
},
但是商店不执行任何类型的过滤
有人能帮我吗?远程过滤非常简单:
- 必须使用配置存储,以便代理 将处理并通过所有应用的过滤器
- 下一步,使用 . 商店现在就要关门了 应用过滤器后自动加载李>
- 期待一份清单
服务器端的筛选器,如下所示
…筛选器:[{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]更多内容您将需要覆盖负责的代理函数服务器端接收到的参数是什么?这里使用Ext.util.filter是否有特定原因?我发现您只需要“客户Id”属性。。将其作为storeClients.getProxy()传递。extraParams.filter=client\u Id;并在服务器端处理“过滤器”。