我有一个网格,其中存储在服务器端被过滤。这是商店:
var _store = Ext.create('Ext.data.Store', {
model: isemriModel,
storeId: 'storeFiltered' + _id,
pageSize: 5,
autoLoad: { filter: JSON.stringify(filterObject) },
proxy: {
type: 'ajax',
actionMethods: {
read: 'POST'
},
url: _url,
extraParams: {
kullaniciAdi: _userName,
sifre: _password,
filter: JSON.stringify(filterObject)
},
reader: {
rootProperty: 'isemirleri',
totalProperty: 'totalCount'
}
},
listeners: {
beforeload: function (store, operation, opts) {
},
load: function (store) {
}
}
});
这是我的问题:当我搜索包含特定字母,名称等的记录时(例如包含a的名称)。首页显示正确。但是当我从分页工具栏更改网格页面时,将清除过滤器参数并显示未过滤的记录。
我也试过
store.load({ params: { filter: JSON.stringify(filterObject) } });
但它不起作用。有人可以帮忙吗?
注意:我在服务器端进行过滤,而不是在ext商店进行过滤。是否可以使用带分页工具栏的网格加载具有动态变化参数的存储。
答案 0 :(得分:0)
在加载功能上再次将您的过滤器设置为当前页面。 此外,如果商店是相同的,页面有不同的过滤器。实际上,如果您尝试返回已过滤的页面,则可能不会清除过滤器。
只需每个页面都有不同的过滤器。
如果您在多个页面中使用相同的过滤器,请记得清除所有页面过滤器
答案 1 :(得分:0)
你应该使用
remoteFilter: true
以及商店的内置过滤器功能。您的代理页面_url
将通过其他方式获取过滤器,但您的过滤器将保留在不同的加载项之间。