Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
extjs4.1中服务器端的筛选器存储_Extjs_Filter_Extjs4_Store_Extjs4.1 - Fatal编程技术网

extjs4.1中服务器端的筛选器存储

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

我必须从一组文本字段/组合框中筛选网格存储,这些文本字段/组合框插入页面顶部的一个单独的Ext.form.Panel中。 我使用此代码执行网格过滤器:

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;并在服务器端处理“过滤器”。