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

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

12345
if(g.autoHeight){    this.scroller.dom.style.overflow = 'visible';}else{    //...}

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

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

1234
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’事件中执行就可以了。

原文地址:https://www.cnblogs.com/hannover/p/1846278.html