2011-12-02 7 views
3

ボタンをクリックすると、提供されたURLを使用してJSONstoreが作成されます。その後、店舗はグリッドにロードされます。ボタンをもう一度クリックすると、すべての情報が再度追加されます(2回リストされます)。ユーザーがボタンをクリックすると、ストア/グリッドをクリアしてからすべてを追加するようにします。ExtJSストア/グリッドリセット

これを達成するためのアイデアはありますか?

おかげで、

EDIT ExtJSの3

datasetStore.removeAll(); 
datasetStore.loadData(datasetsArray); 

答えて

5

いくつかのコード例(とExtJSのバージョン)を見ることが有用であろうが、あなたは、単にloadRecordsメソッドを使用することができます(http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.JsonStore-method-loadRecords):

grid.store.loadRecords([array of your new records here], {addRecords: false}); 

{addRecords: false}は、既存のレコードdsは最初に削除されます。

+0

編集を参照してください!ありがとう! – gberg927

1

(ExtJs4用):単にdoe store.loadRecords([配列])。バージョン4.2.2では、store.proxyにはclear()メソッドがありません(他の例では他の場所で提案されていました...)

ストアとプロキシを完全にクリアしたい場合は空を渡しますアレイ。これは便利なのは、ストアをクリアしたい場合やremoveAllがストア内で管理されている配列にデータを移動するだけなので、後で1レコードしか表示しないgridStoreで同期をとると、コントローラが削除されたレコードの束!