Ext js存储重新加载搜索参数和分页

时间:2014-02-25 06:17:01

标签: php extjs limit offset

我正在使用Ext js 4开发应用程序,只是发现了一个小而恼人的问题:

我在顶部有一个带工具栏的网格,用于搜索用户。在底部我使用了分页。 如果我搜索用户并使用下一个上一页按钮查看其他页面,一切正常。

然而,当我开始新的搜索时问题就开始了。假设我搜索了一个登录'smith'的用户,我的商店加载了100条记录,4页,每页有25个用户。如果我转到第3页并使用'john'搜索另一个用户,我的商店会加载0条记录,但我的数据库中有两条记录。问题是分页是发送限制,从我在第3页的最后一次搜索开始参数。如果我在第一页并进行了新搜索,则会显示2条新记录。

我做错了吗?我应该怎么做以新的分页参数开始新的搜索。我有很多商店,所以在我的搜索按钮的点击功能中设置限制和启动参数对我来说太多了,有没有更聪明的方法?

1 个答案:

答案 0 :(得分:0)

您可以使用分页工具栏的 moveFirst 方法,而不是使用商店加载。

onSearch:function(){
  //this will load the store with new limit and page params.
  pagingtoolbar.moveFirst(); 
} 

在Store.js中,您可以在beforeload listener中发送extraparams。

listeners:{
   beforeload:function(){
       uname = Ext.getCmp('uname').getValue();
       //send the extraparams
       this.proxy.extraParams.user= uname;
   }
}