天天看点

Ext 条件查询 分页

在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    

EXT