关于Ext2.0.2API的TabPanel autoLoad Grid页面时布局错乱的方法

如果你改过Ext2.0.2的API那个Viewport就会发现,如果加载的内容里面是一个GridPanel之类的表格,那表格就会变得很长.

当听说现在可以解决这个问题的方法就是用iframe的时候,我决定自己寻找那种更好的方法

当然,如果现在有人用这种方法,那应该是我没找到,不好意思啦.呵呵

好了,不废话了,以下几个注意的地方改一改就可以了,或许你也像我一样碰到过这样的问题,希望对你有帮助.大家互相学习呀.


[b]TabPanel部份[/b]


autoLoad = {url: href, scripts:true};
//原来的应该是没有scripts:true这个的,所以loadClass里面要把autoLoad:href改成上面的
layout:'fit'
//还有就是var p = this.add(new docPanel){...}
//这里面要加上layout:'fit'



[b]GridPanel部份[/b]


width:Ext.getCmp('doc-body').getActiveTab().getInnerWidth(),
height:Ext.getCmp('doc-body').getActiveTab().getInnerHeight(),
//这个就是重点啦,用来获得当前活动的Tab的宽度跟高度
//把这个放在被加载进来的页面需要调整宽度跟高度的

viewConfig: {
forceFit:true
}
//这个为可选的,如果你不想gridPanel显示横的滚动条,那就在gridPanel里面加上这个吧.

//再补充一段.
//仔细一测试,上面的操作只是加载gridPanel的时候给他负了值,当窗口改变的时候也会很难看的,所以在被加载页里面加多了一个function,代码如下:

//------------------------

function autoresize(){
var aa = Ext.getCmp('loadgrid');
if(aa.getInnerWidth()!=0){
aa.setWidth(Ext.getCmp('doc-body').getActiveTab().getInnerWidth());
aa.setHeight(Ext.getCmp('doc-body').getActiveTab().getInnerHeight());
}
setTimeout(autoresize, 100);
};

autoresize();

//加上这一段后当窗口发生变化的时候就会再次给gridPanel负值的啦.
//以上是我总结的经验做出来的,如果你有更好的方法我们可以讨论一下
//xpoer#hotmail.com(#改成@)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值