2012-05-08 12 views
0

)外部データベースにデータがあり、JSON経由でアクセスできます。今私は、これらのデータセットについて異なるビューを提供したいと考えています(例えば、異なるソートなど)。このために1つのストアを使用することは可能ですか、別のソーター以外は同じURLにアクセスする2つのストアが必要ですか?ExtJS4/Sencha Touch 2:さまざまな並べ替えの異なるビューでデータを再利用する(

私のコード例は次のようになります。

Ext.define('MyApp.store.MyStore', { 
extend: 'Ext.data.Store', 
requires: [ 
    'MyApp.model.MyModel' 
], 

config: { 
    autoLoad: true, 
    model: 'MyApp.model.MyModel', 
    storeId: 'MyJsonStore', 
    proxy: { 
     type: 'ajax', 
     url: 'http://localhost/index.php?data=MyData&format=json', 
     reader: { 
      type: 'json' 
     } 
    }, 
    sorters: [ 
     { 
      direction: 'DESC', 
      property: 'MyRating' 
     }, 
     { 
      direction: 'ASC', 
      property: 'MyLabel' 
     } 
    ] } }); 

そして、もう一つのビューは現在の評価とラベルでソートされたリストが表示されるはずです二番目の順にソートされたリストをレンダリングする必要があります。

DBを2回クエリするのを防ぐ方法はありますか?

おかげで - 私はちょうどので、私の簡単な質問をお許しください---煎茶タッチとExtJSにして始まった;)
どういうわけか、私は、この基本的なタスクのためにGoogleに問い合わせることにより、任意のスマートな解決策を見つけることができませんでした。..

答えて

1

2つのビューが同時に表示されない限り、何も心配する必要はありません。同じストアをローカルで再ソートするだけです。

同時に提示された場合は、店舗のコピーを作成する必要があります。それ以外の場合は、正確に同じ情報が表示されます。

+0

素晴らしい - ありがとう!しかし、私はどのようにランタイムに店を頼るのですか? (まあ、これは基本的な..:D) – Nicolas

+0

'store.sort()'? http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.Store-method-sort – sha

+0

私は試している間に間違ったオブジェクトを持っていました。ありがとう、魅力のような作品! – Nicolas