测试环境: Extjs3.1.1 + IE8
测试代码:
/*store之类的就省略了*/
var sm = new Ext.grid.CheckboxSelectionModel({
handleMouseDown : function(){}
});
var gridColumn = new Ext.grid.ColumnModel([
sm,
{header:'地市',dataIndex:'areaName',width:200},
{header:'品牌',dataIndex:'brandName',width:200},
{header:'指标',dataIndex:'busiTypeName',width:200},
{header:'1日',dataIndex:'day1',width:200},
{header:'2日',dataIndex:'day2',width:200},
{header:'3日',dataIndex:'day3',width:200},
{header:'4日',dataIndex:'day4',width:200},
{header:'5日',dataIndex:'day5',width:200}
]);
var gridPanel = new Ext.grid.GridPanel({
id: 'gridPanelId',
cm: gridColumn,
sm: sm,
ds: gridStore,
frame: true,
autoScroll: true,
height: 550,
tbar: topToolbar,
bbar: new Ext.PagingToolbar({
id: 'pagingToolbarId',
store: gridStore,
displayInfo: true,
pageSize: 10
})
});
var linePanel = new Ext.Panel({
id: 'linePanelId',
frame: true,
contentEl: 'myChartId',
height: 550
});
var backPanel = new Ext.Panel({
id: 'backPanelId',
frame: true,
autoScroll: true,
items: [gridPanel, linePanel]
});
new Ext.Viewport({
layout: 'fit',
items: backPanel
});
原始效果图:

1.修改样式表: http://www.iteye.com/topic/244973
结果:没任何效果
2.修改布局为'anchor':http://www.iteye.com/topic/244973?page=2#977202
注意:不要设置viewConfig: {forceFit: true},这个是把列宽(即ColumnModel的宽度)设置为自动宽度,不是整个GridPanel的宽度。
结果:超出屏幕的部分会被截掉,页面没有水平滚动条,导致无法看到被截掉的部分。不过在FF里可以得到正确的效果,但仅限于初始化页面时。问题在于如果你的打开当前页面时浏览器窗口不是最大化状态,就会看到一个有趣的效果,GridPanel内表格的宽度为页面初始宽度,当你把页面最大化时,GridPanel宽度却不会跟着改变,直到页面刷新。
3.动态给GridPanel的宽度赋值:http://www.iteye.com/topic/244973#692945
结果:这是目前我所尝试的所有方法中最为可行的(仅针对IE而言,要不方法4才是最好的解决方案),而且也不需要把GridPanel render到DIV中。唯一需要注意的,DIV的宽度把垂直滚动条的宽度也包含在内,如果你的页面有垂直滚动条,就必须减去滚动条的宽度。
4.修改布局为'fit':http://www.iteye.com/topic/153023#441966
结果:当布局容器里只存在一个GridPanel时,GridPanel的自适应问题可以完美解决,可惜多数时时候布局里不可能只存在一个GirdPanel……当然,可以采用布局嵌套的方式,让一个布局里只包含一个GridPanel,具体范例可以参数官方范例examples\forum\forum.html 或者这位朋友引用的例子http://www.iteye.com/topic/153023?page=3#628417。
补充:官方与那位朋友的例子都是用border嵌套fit,这样做有一个不好的地方就是,整个页面的最高和最宽都被限定在一个屏幕范围内。如果用panel嵌套fit,就可以使整个页面的高度超过屏幕,不过这样做的话,IE8无法全自适应(FF中没问题)。当页面从大变小时,GridPanel的宽度不会改变,反过来却可以自适应页面。另外需要注意的是,使用panel嵌套fit时,GridPanel要添加配置项 bodyStyle: 'width:100%' ,否则依然会超屏。
5.添加配置项 bodyStyle: 'width: 100%':http://www.iteye.com/topic/153023?page=2#445479
或者指定width的值为 Ext.get("divname").getWidth():http://www.iteye.com/topic/153023#441865
结果:上面两个方法效果一样,页面初始化时看起来还不错,如果你的页面没有垂直滚动条的话。但是依然不能自适应,原因就是这个 http://www.iteye.com/topic/153023?page=2#442557
需要特别说明的是,该方法在ext2.2中有完美的效果,不知为啥3.X版本就不行了。
另外有个不是问题的问题:如果页面有其它固定宽度的元素而GridPanel的宽度自适应,当浏览器窗口缩小到比那些元素的宽度更小时就会出现水平滚动条,把水平滚动条拖到最右就可以看到GirdPanel的右边有大量的空白页面。解决方法就是不要把那些大的并且有固定宽度的元素跟需要宽度自适应的GridPanel放在一个页面,或者动态调整这些元素的位置使水平滚动条不要出现。

- 大小: 57.3 KB
分享到:
相关推荐
通过阅读提供的EXT-3.1.1文档,你可以深入了解每个组件的API,学习如何配置、使用和扩展组件,从而提升你的前端开发能力。在实践中不断探索,结合示例代码加深理解,将有助于你更好地掌握EXT框架。
ESP32中文相关资料+Arduino实验 例程源码,ESP32中文相关资料+Arduino实验 例程源码,ESP32中文相关资料+Arduino实验 例程源码.zip
内容概要:本文详细介绍了基于SPWM(正弦脉宽调制)的异步电机无速度传感器矢量控制技术。首先概述了异步电机的特点及其传统控制方法存在的局限性,接着阐述了SPWM技术和矢量控制的基本原理。文中还提供了简化的代码示例,展示了如何通过读取电机的电压和电流信息,利用矢量控制算法估算电机的速度和位置,并使用SPWM技术生成PWM信号来驱动电机。最后强调了系统实时性的要求,并展望了该技术在未来的发展前景。 适合人群:从事电机控制、工业自动化、电力电子等相关领域的工程师和技术人员。 使用场景及目标:适用于希望深入了解和掌握异步电机无速度传感器矢量控制技术的研究人员和开发者,旨在提高电机控制精度和效率,降低系统复杂度和成本。 其他说明:该技术在工业自动化、电动汽车、机器人技术等领域有广泛应用潜力,对于提升设备性能和可靠性具有重要意义。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
第12章软件项目管理.pptx
dpx官方手册工具链使用说明
电动汽车品牌 电动汽车产地 电动汽车产量 电动汽车销量 电动汽车运行公里数 电动汽车生产日期 拥有者会员级别 电动汽车原价 电动汽车售价 电动汽车利润 电动汽车过户状态 电动汽车厂商 电池容量(kWh) 续航里程(NEDC/CLTC) 充电效率(快充/慢充) 驱动形式(前驱/后驱/四驱) 市场份额 用户年龄 用户性别 用户职业 用户使用习惯(日均里程/充电频率) 电动汽车智能化水平(自动驾驶等级/OTA频率)
内容概要:本文详细介绍了一种将白平衡技术从MATLAB环境迁移到FPGA实现的方法。首先,在MATLAB中利用图像处理工具箱实现并测试白平衡算法,包括自动白平衡和特定场景的白平衡调整。接下来,将MATLAB中的算法转换为Verilog代码,并使用ModelSim进行仿真验证。随后,在小梅哥AC620和正点原子新起点/开拓者的FPGA板卡上实现了经过验证的Verilog代码,进行了实际环境的测试。此外,还撰写了技术博客详细讲解每个步骤,并展示了最终的白平衡处理效果。 适合人群:从事图像处理和FPGA开发的技术人员,尤其是对白平衡技术和硬件实现感兴趣的工程师。 使用场景及目标:适用于需要深入了解白平衡算法从软件到硬件迁移过程的研究人员和技术爱好者。目标是掌握MATLAB、Verilog和FPGA板卡的实际操作技能,解决实际项目中的图像处理问题。 其他说明:文中不仅提供了详细的理论解释,还包括具体的代码实现和实战案例,能够帮助读者更好地理解和应用相关技术。
第2章VisualBasic程序设计入门.ppt
第2章软件开发过程及软件测试.ppt
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
一键清理显卡驱动残留。支持NVIDIA、AMD显卡
琅琊海洋大模型权重文件
第五章计算机等级考试.ppt