У меня есть ExtJS GridPanel с магазином и панелью инструментов подкачки внизу. Я могу вручную установить стартовую страницу через браузер, используя:
www.someurl.com/page/7
Это правильно загрузит хранилище данных со страницы 7. Тем не менее, панель инструментов подкачки не обновляет номер страницы из хранилища (она по-прежнему показывает 1). У меня сложилось впечатление, что при смене страницы магазина также меняется страница на панели инструментов подкачки, но это не тот случай. Вот пример кода:
var _store = new Ext.data.Store({
id : 'store_id',
remoteSort : true,
autoDestroy : true,
restful : true,
proxy : _proxy,
reader : _reader,
writer : _writer
});
var _pagingToolbar = new Ext.PagingToolbar({
displayInfo : true,
pageSize : 20,
store : _store
});
_I.grid = new Ext.ux.GridPanel({
id : _I.options.id+'_grid',
title : _I.options.title,
store : _store,
bbar : _pagingToolbar
});
_I.options.page = 7; //start store on page 7
_I.grid.render('somediv');
_store.load({params:{start:_I.options.page, limit:20, sort:'id', dir:'ASC'}});
Поскольку для начальной страницы установлено значение 7, данные, которые загружаются в хранилище, верны, однако на странице панели инструментов подкачки отображается значение 2. Я попытался вручную установить страницу с помощью
_pagingToolbar.changePage(20); // should set page to 20
Я получаю тот же результат, хранилище данных загружает правильную страницу, однако текст панели инструментов не изменяется. Порядок неправильный? Я также попытался загрузить хранилище до отображения сетки, но безрезультатно, с тем же результатом.