2012-08-24 97 views
1

我遇到了一個簡單的令我瘋狂的問題。我創建了一個顯示網格的基於窗口的小部件。好的,到現在爲止沒有什麼特別的,但是,每個網格必須處理不同的數據。例如:想象一下家庭經紀人,有一個顯示股票報價的小部件。因此,實例A必須顯示INTC,實例B必須顯示CSCO,實例C必須顯示FB。但是,當我處理實例A的INTC數據時,實例B和C的網格也會更新。所以我明白,所有的網格共享相同的商店。 我已經嘗試過創建一個商店dinamically,但它沒有工作。Ext JS 4 - 共享相同商店的網格實例

問題是,我該如何區分這個問題?還有另一種方法來更新沒有商店的網格?

+0

此信息有幫助嗎? http://stackoverflow.com/a/12013880/531940 – pllee

+0

也許發佈一些如何定義你的網格和商店的代碼,你也使用哪個版本的ExtJS? – dougajmcdonald

回答

8

您需要創建存儲的實例,你可能會宣佈他們是這樣的:

{ 
    xtype: 'grid', 
    store: 'theStore' 
    // Rest of the properties 
} 

你需要做的是以下幾點:

{ 
    xtype: 'grid', 
    //column definitions etc... 
    initComponent: function() { 
     var me = this; 
     var lStore = Ext.create('App.store.MyStore'); 

     Ext.apply(me, { 
      store: lStore 
     }); 

     me.callParent(); 
    } 
}​ 

這將創建一個獨特的商店實例,如果你參考這樣的商店:store:'MyStore',你只是得到同一家商店,而當你排序,頁面,過濾,...所有的商店也一樣。

希望這可以幫助你,因爲你沒有共享任何代碼。

+0

男士,感謝您的努力,但仍然無法正常工作。我嘗試了你張貼的這種方式,並且我一直在嘗試儘可能多的修改。即使創建商店的新實例,結果仍然相同:如果我添加或刪除某個商品,則其他所有網格都會反映該商品。 –

+0

確保你沒有提供storeId,並嘗試使用bindStore方法而不是僅僅執行Ext.apply。 – Eric

+0

你應該分享一些代碼,否則我們無法幫你。 –