ExtJS 2.1 BUG

最近在用EXT 2.1版本开发管理系统,开发中遇到一些问题,有些是EXT的BUG,先列表出来,看看有没有朋友在使用时也遇到过类似问题,要是有解决办法或是提供思路更是感激。

列出的BUG解决后会逐渐增加解决方案,目前没有测试在EXT2.2版本中是否存在同样问题。

1. 使用CheckBoxSelectionModel的表格,全选按钮的状态与列表元素的选择状态不同。
解释:如果列表中有三条数据,手动点击行前的选择框全部选择后,全选按钮仍是未选中状态。点击全选按钮选择全部记录后,如果取消选择任一条记录,全选按钮仍是选择状态。
或者使用分页后,先选择全选,再翻下一页,这时全选按钮的状态仍然是选中状态。
这个问题看似不大,但我们的测试却坚持认为是一个BUG,想来想去似乎也是这样,用户看起来有些迷惑。

解决:说一下思路:
1.为sm添加rowselect和rowdeselect的Listener,检查记录是否被全选
2.设置表格cm第一列的columnHeader,第一列是checkboxSelectionModel,目的是为header的div加上一个id
3.后面就简单了,根据全选的状态,未全选时移除header的DIV父标签的样式“x-grid3-hd-checker-on”
4.响应store的load事件,发生时用fireEvent触发sm的rowdeselect事件

为了方便使用,可以写一个类,把grid,cm,sm作为参数如
Ext.ux.CheckboxSuite = function( config ){
...
}


2. (尚未完全确定)使用TabPanel时,如果其中的Panel或Panel的子元素(sub element)使用了table布局时,其下的组件在创建时显示不出来。如果把TabPanel所属的Window隐藏后再show出来,组件就会显示出来。

解决:(不完全解决)目前是为Panel指定renderTo属性,但没从根本上解决问题

3. GridPanel 当列表数据高度小于组件高度时,即不出现下拉条的情况下。有时,列表数据下面会显示背景色,而不是默认的白色背景。问题多出现在使用TabPanel时,列表所在的页不是默认显示的页。即不是优先被绘图的。
分析:这个应该与GridPanel的绘图方法有关。

解决:未解决

你可能感兴趣的:(ext)