Tabpanel里面的tab(通过iframe加载的)的doLayout问题

tabpanel的各个tab中的内容通过iframe加载,现在不知道如何在tabchange的时候对tab中的内容进行dolayout。
这个问题困扰好久了 =.= ,感谢!

[code="java"]
var tabs = new Ext.TabPanel({
enableTabScroll : true
});
tabs.on('tabchange', function(tp, p) {
//有没法子在这个地方遍历下p下面的所有panel各个dolayout
});

  addTab = function(title, url) {
       tabs.add({
             title : title,
             iconCls : 'tabs',
             contentEl : Ext.DomHelper.append(document.body, {
                                                     tag : [b][color=red]'iframe'[/color][/b],
                      style : "border 0px none;scrollbar:true",
                      src : url,
                      height : "100%",
                      width : "100%"
                    })
            }).show();
    }

    new Ext.Viewport({
     layout : 'fit',
     items : [tabs]
    })

[/code]

然后是添加tab的代码
[code="java"]
addTab ('tab1','viewTab1.do');
addTab ('tab2','viewTab2.do');
[/code]

主要代码如上:各个tab页面是通过iframe形式加载,
问题:以上代码默认的activetab为tab2,如果tab1是formpanel的两列布局,
则从tab2切换过来时tab1的formpanel显示为1列去了
(此时如果点击该页面上的一个按钮进行formpane.doLayout()就又恢复正常了)。
而当我代码最后加了tab2.setActiveTab(0),让它默认先显示内容为formpanl两列布局的tab1时,此时完全正常。
求高手看下在不改变iframe加载形式的情况如何使我tabchang时重新doLayout下,使布局正常显示。
[img]http://dl.iteye.com/upload/attachment/218174/be5bcd7f-4529-348e-889a-69b93fe425e3.png[/img]

2个回答

在每个iframe的最外层布局都用form,再嵌套其他布局,这样每个iframe都有相同的布局,试试

ext的吧,在tabs添行layoutOnTabChange:true,这是由tabpanel的布局引起的

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐