以前在使用EXTJS的gridPanel组件时,经常会对gridPanel中的stroe数据进行过滤,有时会导致gridPanel带来的滚动条失效。
举个例子,EXTJS gridPanel的滚动条有一个固定的列宽来放置这个滚动条,如上图所示。因此,当滚动条出现故障时,无论你如何拖动滚动条,网格中的数据永远不会随着滚动条的移动而显示相应区域的数据(换句话说,你总是看到的数据就是截图中的记录)。
gridpanel为什么会失败?暂时还不清楚原因。之前有人在Extjs和stackoverflow的论坛上遇到过类似的问题,不过版本大概是4.1之前。Extjs的dev团队表示,他们从4.1开始就已经修复了这个问题(不确定,希望用童鞋4.1版本来演示)。
好了,现在我们来谈谈如何解决滚动条故障。
Xtype:' grid panel ',//autoscroll3360 true,scroll3360 false,view config 3360 { style 3360 { overflow : ' auto ',overflow x:' hidden'}}可见。自动滚动被禁用,滚动被设置为假,然后设置视图配置,其中水平滚动条被禁用,只有垂直滚动条被保留。好的,解决问题,看看效果:
此时,您会发现滚动条没有自己固有的列,而是与网格的最后一列合并在一起,因此gridPanel的滚动条被禁用。
同时也解决了这个潜在的bug。
但是,这种用法最好是将网格中的所有列设置为固定宽度并设置属性:
Resizable:false这可以避免禁用水平滚动条带来的不必要的麻烦。