2010-12-15 11 views
0

GridPanelを1つだけ表示したいのですが、これはウィンドウ内でスイッチクリックイベントで動的に追加します。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

ありがとう、それはパネルとボタンのコンポーネントで私の問題のために働いています。 –

関連する問題