我们在一个面板中有两个网格,我们需要让它们的记录一起垂直滚动。也就是说,如果用户垂直滚动任何一个网格,那么其他网格也会滚动。
因此,绑定垂直滚动条的方法是什么?
此处提供了 4.0.2a 版本的解决方案,但使用的功能在 4.1 版本中已被弃用,因此它在较新的版本中不起作用。
谁能指导如何在 ExtJs 版本 4.1.* 中实现这一点?
感谢您提前提供任何帮助。
我在 API 中看不到任何方便的东西,但仍然可以连接到 html 元素:
grid1.view.getEl().on('scroll', function(e, t) {
grid2.view.getEl().dom.scrollTop = t.scrollTop;
});
grid2.view.getEl().on('scroll', function(e, t) {
grid1.view.getEl().dom.scrollTop = t.scrollTop;
});
工作样本:http: //jsfiddle.net/CSwAH/
最近“锁定网格”已经可用。 http://dev.sencha.com/deploy/ext-4.0.0/examples/grid/locking-grid.html
易于使用,也很有用。
我的答案是 2 年后出现的,但它适用于任何正在寻找好的解决方案的人。
这似乎是一个旧帖子,但我想分享我的部分答案。看,当添加同步滚动条时,问题是鼠标滚轮滚动有点慢。看到这个小提琴。
所以,我想出的是为事件添加延迟:
grid1.view.getEl().on('scroll', function(e, t) {
grid2.view.getEl().dom.scrollTop = t.scrollTop;
}, grid1.view.getEl(), {delay: 50});
grid2.view.getEl().on('scroll', function(e, t) {
grid1.view.getEl().dom.scrollTop = t.scrollTop;
},grid2.view.getEl(),{delay: 50}); //50 seems fine for me. adjust if you must