0

複数のグリッドを持つパネルがあります。F5を押したときのようにデータを失うことなく、すべてのグリッドを更新してタブを開くボタンという、ある種のグローバル更新ボタンを作成しようとしています。2つのグリッドを使用すると、ストアを取得してロードするだけで簡単でしたが、3番目のグリッドでは問題が発生します。前の2つと同じように試してみると、問題なく動作しますURL is undefined。これが私のコードです:

reloadInstructionsStore: function() {
    var reloadInstructionSt = this.getStore('Instructions');
    var activeCat = this.getActiveCategory();
    reloadInstructionSt.clearFilter(true);
    reloadInstructionSt.filter({
        filterFn: function(item)    {
            return item.get('category_id') == activeCat;
        }
    }),
    reloadInstructionSt.load();
},

私が考えることができる唯一の理由は、ここで使用するストアが他の2とは異なって定義されていることです。これは、PROXYとCRUDではありませんが、次のようになります。

Ext.define('MY.store.Instructions', {

    extend: 'Ext.data.Store',
    model: 'MY.model.InstructionRecord',

    autoLoad: true,


    data: g_settings.instructionsApi.initialData

});

ここに問題があり、このように物事を機能させる方法はありますか?

ありがとう

レロン

4

1 に答える 1

0

このストアをリロードする必要はありません。データは最初のページのロード時に提供されます。この変数g_settings.instructionsApi.initialDataは、データがページ上で静的に利用できることを示しています。この場合、フィルターをリセットしてreloadInstructionSt.load();呼び出しを削除するだけです。

実際にサーバーからデータをリロードしたい場合は、データを取得できるURLをストアに提供する必要があり、サーバーはこのデータを提供できる必要があります。

于 2012-06-22T19:34:33.347 に答える