2011-01-26 3 views
1

문제 감사 어쨌든, 이미 해결되었습니다 :)추가 또는 내선 JS의 창 내부에 새로운 패널을 교체


가 나는 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(); 

트릭을 할해야

관련 문제