私はExtJSにかなり慣れていないので、1つのグリッドを使用して情報のさまざまなビューを表示するのにどのアプローチが最適か疑問に思いました。これが私が考えていることです。3つの異なるデータストアがあり、それぞれがプロキシを利用してJSONを返しています。それらをSTORE1、STORE2、およびSTORE3と呼びましょう。サーバーから取得するために実行されているパラメーターがそれぞれ異なるため、異なるストアを使用しています。ここで、3つのボタンを含めたいと思います。各ボタンは、グリッドにデータを入力するために使用されるストアをトリガーします。インスタンス化された後にグリッドが使用する新しいストアをどのように正確に指定しますか?GridオブジェクトにsetStore()が表示されないため、問題を解決する方法がわかりません。誰かが私にいくつかの洞察を提供することができれば、それは大いにありがたいです。
2 に答える
グリッドにはメソッドがありbindStore
ます。別の列のセットも割り当てる必要がある場合-reconfigure
メソッドを確認してください
この問題を解決するには、いくつかの方法があります。
私が最初にすることは、実際にあなたのユースケースを考えることです。これがユーザーインターフェイスを処理する方法であると確信していますか?データをフィルタリングする方が理にかなっていますか(デフォルトまたはユーザーの操作による)。そこにこれのいくつかの例があります。頭に浮かぶのは、単純なタスクウィジェット(それほど単純ではありません)http://docs.sencha.com/ext-js/4-1/#!/example/simple-tasks/index.html-右上のボタンユーザーの選択に基づいてストアをフィルタリングします。1つのグリッド+1つのストアを使用しますが、ユーザーの選択に基づいてデータをフィルタリングします。
異なるストアからデータをロードするように設定されている場合は、1つのストアを使用してビューを管理し、他のストアを使用してデータをフェッチできます。データをフェッチするストアのロード時に、loadData(またはloadRecords)メソッドを使用して、ビューを制御するストアを更新します。意味がありますか?ただし、ここでコーナーケースに注意してください。同じデータを2回ロードするとどうなりますか?loadDataメソッドで「追加」オプションを使用する必要がありますか?
幸運を。