如何交换Extjs面板内容?

时间:2014-01-10 10:35:12

标签: extjs

在我的应用程序中有两个面板-A和B.

我使用“边框”布局,面板A位于中心区域,面板B位于南区域,高度为200.

“面板A”有很多项目,如网格,工具栏等。“面板B”也有一些项目。

我的问题是,如何将A到B和B的内容交换为A.

注意:我使用的是“Extjs 3.2”

此致

Mohammed Shafeek

1 个答案:

答案 0 :(得分:2)

边框布局的centersouth区域中的面板必须由容器组件包装。然后,您可以轻松获取每个容器的内容,清除容器并从第二个容器中添加内容。

因此,开关面板的功能应如下所示:

function switchPanels() {
    southContainer = Ext.getCmp('southContainer');
    centerContainer = Ext.getCmp('centerContainer');

    southContainerItems = southContainer.items.getRange();
    centerContainerItems = centerContainer.items.getRange();

    southContainer.removeAll(false);
    centerContainer.removeAll(false);

    for (var i = 0; i < southContainerItems.length; i++) {
        centerContainer.add(southContainerItems[i]);
    };

    for (var i = 0; i < centerContainerItems.length; i++) {
        southContainer.add(centerContainerItems[i]);
    };  

    centerContainer.doLayout();
    southContainer.doLayout();
}

有关完整的实例,请查看此小提琴:https://fiddle.sencha.com/#fiddle/2iv