我们在面板中有两个网格,我们需要将它们的记录垂直滚动。也就是说,如果用户垂直滚动任何一个网格,那么其他网格也会滚动。
因此,绑定其垂直滚动条的方法是什么?
版本4.0.2a的解决方案存在here,但所使用的函数已在4.1版本中弃用,因此在较新版本中不起作用。
有没有人可以指导如何在ExtJs 4.1版中实现这一点。*?
感谢您提前提供任何帮助。
答案 0 :(得分:7)
我在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;
});
答案 1 :(得分:1)
最近“锁定网格”已经可用。 http://dev.sencha.com/deploy/ext-4.0.0/examples/grid/locking-grid.html
易于使用,也很有用。
我的回答是2年后,但是对于那些正在寻找一个好解决方案的人来说。
答案 2 :(得分:0)
这似乎是一个老帖子,但我想分享我的部分答案。看,当添加同步滚动条时,问题是鼠标滚轮滚动有点慢。 请参阅此fiddle。
所以,我提出的是为事件添加延迟:
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