2010-10-12 63 views
1

我有一个以空项目集合开头的Panel。在应用程序的过程中,有必要将GridPanel添加到面板。这似乎工作正常。无法从ExtJs面板中删除ExtJs GridPanel

在应用程序的其他一些问题,有必要删除的GridPanel,并添加另一个。我已经尝试了几种方法来清除面板的内容,但没有什么喜悦。

通过遍历项集合,并呼吁disable()不起作用。

调用items.removeAt(index)不起作用。

调用removeAll(true)不起作用。

网格停留在那里并且可见,仍然会抛出所有相同的事件。如果我通过我的加载网格过程,只显示一个网格。但是,应用程序的要求是,当填充网格的数据标准发生变化时,网格应该被清除。

回答

1

我相信我已经解决了我的问题。

调用remove(itemName, true)似乎是招。

虽然我很好奇,任何可以提供的洞察力,为什么removeAll(true)不起作用。

0

你如何添加GridPanel?你可以在你创建并添加它的闭包中使用GridPanel的hide()。或者您可以尝试使用父组件上的GridPanel对象调用remove(panel)。我认为disable()也不隐藏GridPanel,IIRC。

+1

我通过'grid.items.add(ITEMNAME,新Ext.grid.GridPanel(添加...',但正如我所说,我没有得到它与'删除(ITEMNAME,真)'工作。 – 2010-10-12 15:59:16

0

这是我为我的分机的一个项目做

click: function() { 
    var tempRef = Ext.getCmp("createPanel"); 

    tempRef.remove(Ext.getCmp("step2"),false); 
    tempRef.doLayout(); 
    tempRef.update(); 

    tempRef.insert(1,Ext.getCmp("step1")); 
    tempRef.doLayout(); 

    Ext.getCmp("backButton").disable(); 
    Ext.getCmp("backNext").enable(); 
} 

这是我的一个按钮的代码。