2011-01-26 37 views
1

問題已經解決已經, 感謝反正:)添加或在Ext JS中更換一個新的小組,在Window內


我有一個Ext.Window對象。 類似:

var mypanel= new Ext.Panel({title:'Placeholder'}); 
var cwin = new Ext.Window({ 
    layout:'fit', 
    width:screen.width-200, 
    x:200, 
    y:150, 
    draggable: false, 
    closable: false, 
    resizable: false, 
    plain: true, 
    border: false, 
    items: [mypanel] 
}); 

我想,當用戶觸發特定的事件與另一個Ext.Panel對象,以取代「mypanel」。 所以我想我可以刪除mypanel,並添加一個新的面板。 我得到了刪除工作。 然而,將是一個不同的故事, 我在方向試過的東西:

mypanel= new Ext.Panel({title:'my new Panel'}); 
cwin.add(mypanel); //dit nothing 
cwin.items.add(mypanel); //dit nothing 
cwin.insert(0,mypanel); //dit nothing 
cwin.items.insert(0,mypanel); //dit nothing 

我會很樂意與任何答案要麼替換現有的面板或添加新的面板。

謝謝。

回答

3

添加項目後,您應該在容器上調用doLayout()。

// remove actual contents 
cwin.removeAll(); 
// add another panel 
cwin.add(new Ext.Panel({title:'my new Panel',width:300,height:400})) 
// repaint with new contents 
cwin.doLayout(); 

應該做的伎倆