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 ストアではなく、サーバー側でフィルタリングを行います。ページング ツールバーのあるグリッドを使用して、動的に変化するパラメータでストアをロードすることは可能ですか。

4

2 に答える 2

0

使用する必要があります

remoteFilter: true

およびストアの組み込みフィルター関数。プロキシ ページ_urlは別の方法でフィルターを取得しますが、フィルターは異なる負荷の間で保持されます。

于 2016-02-09T14:45:19.793 に答える
0

ロード機能で、フィルターを現在のページに再度設定します。また、店舗が同じ場合、ページには異なるフィルターがあります。実際、フィルター処理されたページに戻ろうとすると、フィルターがクリアされていないことがわかります。

単純に、すべてのページに異なるフィルターを設定できます。

複数のページで同じフィルターを使用する場合は、すべてのページ フィルターをクリアすることを忘れないでください

于 2016-02-09T13:41:21.127 に答える