在给Ext2 Grid设置了autoHeight属性后,如何显示滚动条

2008年2月3日 | Author: zhangdi | 标签: ,

最近开发一个项目使用了Ext2 Grid的GroupingView功能,本来认为非常好用,但是发现了一个问题:在设置了autoHeight的情况下连横向滚动条都不会显示出来了。大概看了看GridView的源代码,发现在里面有这么一段程序:

1
2
3
4
5
if(g.autoHeight){
    this.scroller.dom.style.overflow = 'visible';
}else{
    //...
}

就是因为这个’visible’,结果让滚动条都去见鬼了~

为了fix这个问题,使用了一个非常ugly的方法,就是先让Grid自动调整高度(就是把autoHeight给设置上),然后在画完后,拿到当前的高度重新把autoHeight给设为false并且把高度设死。更重要的是要把那个’visible’给改为’auto’:

1
2
3
4
var size = grid.getSize();
grid.autoHeight = false;
grid.view.scroller.dom.style.overflow = 'auto'; // restore the overflow to 'auto'.
grid.setSize({width: size.width, height: size.height + 25});

把这四句话加到Grid Store的’load’事件中执行就可以了。

目前还没有任何评论.