Как перестать прокручивать вверх, когда перезагрузка хранилища сетки - PullRequest
0 голосов
/ 14 мая 2019

У меня есть приложение, которое использует ExtJS 3.3.0. Он использует EditorGridPanel, в котором после перезагрузки магазина - я бы хотел, чтобы он сохранял положение прокрутки сетки, а не отправлял ее обратно наверх.

Поскольку это более ранняя версия ExtJS - это НЕ РАБОТАЕТ:

viewConfig: {
   preserveScrollOnRefresh: true
}

Пока единственное, что я могу придумать, - это сохранить положение полосы прокрутки перед загрузкой, а затем сбросить положение после завершения перезагрузки.

Я могу добраться до сохранения позиции:

var scrollPos;

bodyscroll: function(sl, st) {
    scrollPos = st;
},

Однако я не могу понять, как потом установить позицию.

Есть предложения?

Заранее спасибо.

1 Ответ

0 голосов
/ 14 мая 2019

Может быть несколько способов сделать это, но один из них - использовать элемент скроллера, который доступен через сетку вида сетки.См. Скрипку здесь: Сохранение / восстановление таблицы сетки .

Чтобы получить значение прокрутки (которое вы уже выяснили):

var top = grid.getView().scrollergetScroll().top;

Для восстановления:

grid.getView().scroller.scrollTo('top',top);
...