2014-10-09 2 views
0

Я работаю над ExtJS.Grid, который использует Ext.data.Store с прокси-сервером jsonp и Ext.PagingToolbar для управления пейджингом. Все работает нормально.Номер страницы захвата в Ext.PagingToolbar

Но некоторые пользователи жалуются, что они далее просматривают страницы, оставляют сетку, и когда они вернутся, они вернутся на страницу 1. Они хотят, чтобы «сетка помнила» страницу, на которой они были, и начинается с нее.

Я использую Ext.onReady(function(){},false); для определения всех компонентов и другого Ext.onReady(function(){});, чтобы создать сетку с store.loadPage(1);, чтобы сделать первую загрузку после того, как все будет сделано.

Если бы я мог прослушивать какое-либо событие из Ext.PagingToolbar, когда происходит новый нагрузка и захватывает страницу, на которой он был использован, я мог бы хранить его в каком-то файле cookie или что-то в этом роде, и вернуть его для повторной загрузки этой страницы ,

Я просмотрел http://docs.sencha.com/extjs/4.1.3/#!/api/Ext.toolbar.Paging и не нашел событий, которые могут быть использованы. Кто-нибудь знает, где я могу это сделать?

+0

Я думаю, что вы ищете изменения (это, pageData, eOpts) событие, которое имеет Ext.toolbar.Paging ("Пожары после изменения активной страницы "). Вы можете найти полную ссылку на это событие по ссылке, указанной в разделе «События», –

ответ

1

Вы можете отслеживать событие изменения Ext.toolbar.Paging и помнить currentPage в файле cookie.

pagingtoolbar.on('change', function(pb, pageData) { 
    Ext.util.Cookies.set('lastGridPage', pageData.currentPage, new Date('1/1/2016')); 
}); 

и настройки вашей сетки, чтобы загрузить страницу на afterrender

grid.on('afterrender', function() { 
    var pageNumber = Ext.util.Cookies.get('lastGridPage') || 1; 
    grid.store.loadPage(pageNumber); 
}) 
Смежные вопросы