重新加载网格存储时如何停止滚动到顶部

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);