dojox的DataGrid在TitlePanel中宽度无法自动调整问题的解决办法

本文讨论了在Dijit的TitlePanel中包含dojox的DataGrid时,两者在浏览器窗口变化后无法自动调整尺寸的问题。通过将DataGrid包裹在<div>标签内,然后包含在TitlePanel中,成功解决了这一问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     当浏览器的尺寸发生变化时,dijit或者dojox的widgt一般都能自动适应窗口尺寸的变化。但是最近,我在dijit的TitlePanel中包含了一个dojox的DataGrid,当浏览器窗口发生变化后,TitlePanel能自动改变尺寸,但是DataGrid不行。这个问题的dojo版本是1.6

     奇怪的是,如果我把DataGrid移除TitlePanel,放在TitlePanel的外部,那么2者皆可根据浏览器的尺寸变化自动调整宽度。通过使用firebug的调试功能侦测画面元素后发现,2种不同做法差别在于,当DataGrid置于TitlePanel时,DataGrid的style中会加入width和height的实际值,而DataGrid不在TitlePanel中时则没有。因此,在浏览器窗口发生变化时,DataGrid不能在TitlePanel中自动调整宽度。

     这貌似是一个bug,也就是说如果DataGrid直接包含在TitlePanel中,画面初始化的时候,DataGrid的style属性会自动加入width和height的实际值。

     基于这个发现,我试着将DataGrid的标签先用一个<div>标签包裹,然后再将这个<div>标签被TitlePanel包含。通过这个<div>隔离2者的直接包含。重新刷新页面,问题解决!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值