EXT.JS 4.0.5 中的网格滚动问题,不考虑工具栏高度
Posted
技术标签:
【中文标题】EXT.JS 4.0.5 中的网格滚动问题,不考虑工具栏高度【英文标题】:Grid scrolling issue in EXT.JS 4.0.5, not accounting for toolbar heights 【发布时间】:2013-02-08 21:58:40 【问题描述】:我有这个网格:
知道为什么会这样做吗?我知道内部面板需要为 350px,并且在 firebug 中应用它可以正常工作,但当然 Ext 喜欢动态重新计算所有内容,我不知道在哪里将高度应用到内部面板以使其显示正确的行为。
我知道 4.0.5 使用虚拟滚动条,我已通过在网格组件上设置 scroll: false
并将 style: overflowX: 'hidden', overflowY: 'scroll'
添加到其视图配置来禁用它们。问题是内部面板没有考虑工具栏的高度,而是将滚动条推到其容器下方。我也无法升级 extjs。有什么想法吗?
【问题讨论】:
【参考方案1】:这看起来像是 4.1 中解决的错误,但是我无法真正测试您的代码,因此很难判断,您可以尝试在网格的 viewready
事件中执行此操作:
grid.determineScrollbars();
如 4.07 文档中的 here 所述。
编辑:
在viewready
事件之后尝试重新布局组件怎么样:
grid.on('viewready', function(grid)
grid.doComponentLayout()
);
(或者如果您正在使用 MVC 事件处理方式)
【讨论】:
是的,他们拿出了这些该死的虚拟滚动条,并使用了浏览器的原生滚动。但是由于依赖于库的其他方面,我无法升级到较新的版本。它令人沮丧,因为这些滚动问题不断出现,并且每次都有不同的解决方案。确定滚动条()不起作用:( @Gallen 在上面添加了另一个想法 那里也没有运气。不过,我感谢您的帮助:) 我将应用程序拆开,完全删除了适合布局和网格滚动,而是让面板滚动,现在网格只要它需要的长度。周末我会考虑升级到 4.1 以防止这些问题在未来发生。我给你答案是因为这些方法过去曾帮助解决非常相似的问题。以上是关于EXT.JS 4.0.5 中的网格滚动问题,不考虑工具栏高度的主要内容,如果未能解决你的问题,请参考以下文章
Sencha EXT JS datagrid滚动条专门在列上?