2010-12-15 4 views
0

창에서 스위치 클릭 이벤트로 동적으로 추가하는 GridPanel 하나만 표시하려고합니다.ExtJS 창에서 GridPanel 항목을 동적으로 추가하고 표시합니다.

var event_menu = new Ext.menu.Menu({ 
    id : "event_menu", 
    items : [ { 
     text : 'record1', 
     handler : function() { 
      win.add(item_list_panel);//dynamica add GridPanel to show server data 
      win.doLayout(); 
      item_list_store.load(); 
     } 
    }, { 
     text : 'record2', 
     handler : function() { 
          win.remove(item_list_panel);//I want to remove it inorder to show the item_list_panel2 and only show one panel. 
      win.add(item_list_panel2); 
      win.doLayout(); 
      item_list_store.load(); 
     } 
    } ] 
}); 

이 메뉴는 내 창 tbar에 속합니다. 레코드를 클릭 할 때 item_list_panel이 표시되고 record2을 클릭하면 item_list_panel2이 표시되고 item_list_panel은 표시되지 않습니다. I win.remove(item_list_panel)에 오류가있는 경우 : 나는 그것을 할 수있는 방법

c.getPositionEl().dom is undefined 

, 감사

답변

1

나는 거의 당신의 질문을 이해 할 수 있지만, 만약 내가 제대로 이해하고 당신이 그것을 여러 가지 방법으로 할 수 있습니다.

구성 요소를 파괴 할 수

직접

는 는 는

당신이 당신의 항목을 가서 ID로를 선택할 수 있습니다

win.items.item('item_id').destroy() 

완전히 파괴하지 않고 제거 할 수있는 방법도 있습니다, 당신은 무엇을 따라

item_list_panel.destroy() 
하고 싶다

+0

고마워, 나는 내 질문을 해결했다! – wilson

+0

이것이 도움이된다면, 도와 주시고 대답 해주십시오 :) – neolaser

+0

고마워, 그것은 버튼 구성 요소뿐만 아니라 패널과 관련된 문제로도 효과가있다. –

관련 문제