在用ExtJs的时候经常需要使用Grid来显示数据,当数据过多时就需要翻页。Ext的Ext.PagingToolbar翻页提供了一个UI,真正的翻页是在store里面进行的。做翻页的时候会碰到很多问题,比如,翻页到第二页后看到第一页的重复数据;翻到第二页后再点击toolbar里面的查询按钮会看到页面停在第二页等问题。
这里主要看store和grid的查询按钮的定义:
为Grid定义了一个mainStore,基本的配置项
model:关联的模型名称,使用之前必须定义有该模型
pageSize:每页的记录数。默认值为25
proxy:设置Proxy对象,可以为对象或字符串
linsteners:绑定的监听事件。
autoLoad:配置store在创建后是否自动加载
limit:每页的记录数,也就是pageSize的值。如果pageSize已经配置该值失效
start:获取页的记录的开始位置,记录位置是从0开始计算的,因此当每页记录为25时,开始位置为25,而不是26
store加载前会把查询条件填充进去,通过beforeload方法,保证store加载前输入外部参数可以确保每次查询参数的正确性。为了避免开头阐述的问题,在每次store重新load之前把页面设置为1,即mianStore.currentPage=1;然后再load