重新加载网格存储时如何停止滚动到顶部
How do you stop scrolling to top when grid store is reloaded
我有一个使用 ExtJS 3.3.0 的应用程序。它使用一个 EditorGridPanel,在商店重新加载后 - 我希望它保留网格的滚动位置而不是将其发送回顶部。
因为这是 ExtJS 的早期版本 - 这不起作用:
viewConfig: {
preserveScrollOnRefresh: true
}
到目前为止,我唯一能想到的就是在加载之前保存滚动条的位置 - 然后在重新加载完成后重置位置。
我能达到保存位置的程度:
var scrollPos;
bodyscroll: function(sl, st) {
scrollPos = st;
},
但是我想不出之后怎么设置位置。
有什么建议吗?
提前致谢。
可能有多种方法可以做到这一点,但一种方法是使用滚动条元素,它可以通过网格的 gridview 访问。请在此处查看 fiddle:Grid scoll save/restore。
获取滚动值(你已经知道了):
var top = grid.getView().scroller.getScroll().top;
要恢复:
grid.getView().scroller.scrollTo('top',top);
我有一个使用 ExtJS 3.3.0 的应用程序。它使用一个 EditorGridPanel,在商店重新加载后 - 我希望它保留网格的滚动位置而不是将其发送回顶部。
因为这是 ExtJS 的早期版本 - 这不起作用:
viewConfig: {
preserveScrollOnRefresh: true
}
到目前为止,我唯一能想到的就是在加载之前保存滚动条的位置 - 然后在重新加载完成后重置位置。
我能达到保存位置的程度:
var scrollPos;
bodyscroll: function(sl, st) {
scrollPos = st;
},
但是我想不出之后怎么设置位置。
有什么建议吗?
提前致谢。
可能有多种方法可以做到这一点,但一种方法是使用滚动条元素,它可以通过网格的 gridview 访问。请在此处查看 fiddle:Grid scoll save/restore。
获取滚动值(你已经知道了):
var top = grid.getView().scroller.getScroll().top;
要恢复:
grid.getView().scroller.scrollTo('top',top);