0

我有一个网格,其中存储在服务器端被过滤。这是商店:

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 store。是否可以使用带有分页工具栏的网格加载具有动态更改参数的存储。

4

2 回答 2

0

加载功能再次将您的过滤器设置为当前页面。此外,如果商店相同,则页面具有不同的过滤器。事实上,如果您尝试返回过滤页面,您可能会发现过滤器未清除。

只是每个页面都可以有不同的过滤器。

如果您在多个页面中使用相同的过滤器,请记住清除所有页面过滤器

于 2016-02-09T13:41:21.127 回答
0

你应该使用

remoteFilter: true

以及商店的内置过滤器功能。您的代理页面_url将通过其他方式获取过滤器,但您的过滤器将保留在不同的负载之间。

于 2016-02-09T14:45:19.793 回答