2012-05-08 43 views
0

我有一個外部數據庫中的數據可以通過JSON訪問。現在我想對這些數據集提供不同的觀點(例如,不同的排序,..)。是否有可能爲此使用一個單獨的商店,還是我需要兩個商店訪問相同的URL,但使用不同的分揀機?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' 
     } 
    ] } }); 

而且一個觀點,現在應呈現由等級,第二個應該顯示在標籤排序列表排序的列表。

有沒有辦法防止查詢數據庫兩次?

謝謝 - 我剛開始用煎茶觸摸和ExtJS的---所以請原諒我的簡單的問題;)
不知怎的,我找不到問谷歌這個基本任務,任何聰明的解決方案..

回答

1

除非同時顯示兩個視圖,否則不必擔心任何事情。只需在本地重新分類相同的商店。

如果它們在同一時間出現,您將不得不創建一個商店的副本。否則,他們會顯示完全相同的信息。

+0

非常感謝!但是,我如何在運行時使用商店? (該死的,這是一個基本的..:D) – Nicolas

+0

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

+0

哎喲 - 我嘗試時手邊有錯誤的物體。謝謝,作品像魅力! – Nicolas

相關問題