2012-02-07 14 views
3

ExtJS開発者がExtJS 4 Store APIでreload()メソッドを削除することを決めたのは不思議です。私はそれが悪い決断だと思う。ExtJS 4:同じパラメータでグリッドをリロードする方法

これは私の問題です。私は、グリッドのストアを初期化するために、次のコードを使用しています:

store.load({ 
    params: { 
     paramName: dynamicParameter 
    } 
}); 

NOTICE上記のコードでdynamicParameter変数を。

グリッドからいくつかのレコードを削除すると、ストアをリロードする必要があります。

問題は次のとおりです。ストアをリロードするコードセグメントは、dynamicParameterの値を知らないはずです。

レコードを削除するためのコードは、このようなものです:ExtJSの4で、reload()機能はもう存在しないため、

function deleteGridItems(grid, deleteUrl){ 
    // get selected rows 
    var records = grid.getSelectionModel().getSelection(); 

    // ...... (codes to send request for deletion is ignored) ...... 

    if(success){ 
     grid.getStore().reload(); 
    } 
} 

残念ながら、上記のgrid.getStore().reload()はエラーになります。

同じパラメータでストアをリロードするにはどうすればよいですか?

ありがとうございます。

答えて

2

もし私が間違っていないのであれば、load()関数はreload()とまったく同じようになりました。それを試してみてください。このhttp://www.sencha.com/forum/showthread.php?127673-Reload-Store-in-EXT-JS-4

+0

私は '負荷を(試してみました:私はグリッドの問題を経験していないが、あなたは非常に迅速に更新ボタンを押すと、木々があなたが時々エラーとツリー構造の休憩を取得

load: function(options) { // Loading quickly will cause data in the panel to break if (!this.isLoading()) { this.callParent(arguments); } }, 

) '関数を呼び出す。しかし、 'dynamicParameter'を送信しません。 –

+0

あなたはloadを呼び出すたびにパラメータを渡すことができますか、それはオプションではありませんか? –

+0

更新された答えを確認してください、それは助けてください –

0

はまたのExt JSは店が既にあるかどうかをロードする前にチェックするためには表示されませんのでご注意を参照

:あなたの代わりに負荷にそれを毎回指定するプロキシ余分のparams()を設定する必要が

データのロード。なぜこれがどういうわけかはわかりませんが、StoreまたはTreeStoreのload()メソッドをオーバーライドすることで修正できます。

Uncaught TypeError: Cannot read property 'internalId' of undefined 
関連する問題