ExtJS窗口动态添加GridPanel项并显示它

时间:2010-12-15 10:46:49

标签: 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,我希望当我点击record2item_list_panel2将显示在胜利中,item_list_panel将隐藏。 如果我win.remove(item_list_panel)会出错:

c.getPositionEl().dom is undefined

我该怎么做,谢谢

1 个答案:

答案 0 :(得分:1)

我几乎无法理解你的问题,但如果我理解正确,你可以采取多种方式。

你可以直接破坏组件

item_list_panel.destroy()

您可以浏览商品并按ID

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

还有一些方法可以在不完全破坏它的情况下删除它,取决于你想要做什么