在grid里面应用pagingToolbar实现分页:
问题:
输入查询条件点击查询
pagingToolbar上显示:“每页显示50条数据 共259条记录”
但我点击pagingToolbar的“下一页”
pagingToolbar上显示:“每页显示50条数据 共313条记录”
怎么查询出来的记录数相同呢?
(点下一页的时候,火狐debug下才知道查询条件没带上)
加查询条件:
于是我在store的beforeload事件里用
Store.setBaseParam(‘condition1’,value1);
Store.setBaseParam(‘condition2’,value2);
每次store请求的时候自动触发beforeload事件,把查询条件都带上。
点击“上一页下一页”,好像没什么问题。
问题:
假如我在第二页,我改变查询条件,到第三页的时候 数据又不对了,不符合正常人的思维。
我该怎样在每次点击查询的时候 记录下查询条件,然后把它添加到翻页请求中去呢?
看看store的这两个属性。
baseParams:store每次请求数据的时候都会把baseParams的数据自动添加到请求参数中。
lastOptions:store每次请求数据之后,都会把请求参数放进lastOptions中,store的reload方法就是利用lastOptions的记录来重新请求数据的。
所以我在查询的方法最后 将lastOptions赋值给baseParams,大功告成。
代码如下:
store.load({
params: {
start: 0,
limit: 50,
condition1:value1,
condition2:value2,
condition3:value3,
condition4:value4,
condition5:value5
}
});
Ext.apply(centerStore.baseParams,centerStore.lastOptions.params); //将lastoptions赋值给baseParams