ExtJS分页工具栏起始页

问题描述 投票:0回答:2

我有一个 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

我得到相同的结果,数据存储加载正确的页面,但工具栏文本没有改变。是不是顺序错了?我还尝试在渲染网格之前加载商店,但无济于事,结果相同。

extjs pagination toolbar
2个回答
1
投票

由于商店和分页栏是内在链接的,您应该只需使用

.changePage(n)
方法即可更改页面并自动 调整商店的内容。您不需要还使用记录集更新对存储进行编码。另外,您是否 100% 确定商店显示第“7”页的正确记录?


0
投票

您从服务器端返回什么分页信息? PagingToolbar 只是从商店获取该信息。

您能否向您的阅读器展示一下服务器响应中显示分页数据的部分?

© www.soinside.com 2019 - 2024. All rights reserved.