2011-06-09 39 views
0

在我的應用程序中,我創建了幾個模態窗口,其中包含一個窗體和一個editorgrid。爲了重新使用組件,我創建了combos,fieldtext,複選框和其他東西作爲變量,並且只添加necesarry到每個窗口。其中一個變量是一個editorgrid,xtype:'editorgrid',存在問題:editorgrid作爲變量不可編輯

如果我將變量myEditorGrid添加到面板,第一次打開窗口時它會工作正常,但第二次任何窗口都必須呈現相同的editorgrid,那麼這些字段不能再被編輯。

如果我在面板內創建editorgrid(並且不使用變量),那麼它每次打開窗口時都可以正常工作,但我需要複製&將相同的代碼反覆粘貼到所有窗口,這不是很專業。

我認爲問題在於變量沒有被銷燬,並確保窗口關閉,但我不知道如何銷燬變量,即使這是解決方案。

有什麼想法?

感謝

+0

您可以顯示這些作爲一例中的一碼?在嘗試跨不同網格重用列模型時,我遇到過相同的問題 – JamesHalsall 2011-06-10 14:18:32

回答

0

您不能重複使用這種方式的EditorGrid,因爲它是列模型被使用後銷燬。

重用組件的最好方法是使用Ext.extend方法described here,然後在你的initComponent有這樣的事..

initComponent : function() { 
    this.cm = new Ext.grid.ColumnModel({ 
     columns: [ 
      //define columns here 
     ] 
    }); 
    this.ds = new Ext.data.JsonStore({ 
     //store config 
    }); 
    //... 
}