gpt4 book ai didi

extjs - 在 extjs4.1 的服务器端过滤存储

转载 作者:行者123 更新时间:2023-12-01 15:44:54 25 4
gpt4 key购买 nike

我必须从插入在单独的 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();
},

但商店不执行任何类型的过滤器。

谁能帮帮我?

最佳答案

远程过滤非常简单:

  • 商店必须配置remoteFilter这样代理将处理并通过所有应用的过滤器
  • 接下来应用过滤器 store.filter('propertyName', 'filtervalue') .本店现将应用过滤器后自动加载。
  • 期待一个列表服务器端的过滤器看起来像...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] For more you will need to override the responsible proxy function

关于extjs - 在 extjs4.1 的服务器端过滤存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12200263/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com