我需要重置分页工具栏参数为"page"
, "start"
, "limit"
时,我点击搜索按钮重新加载网格存储与不同的参数!
我该怎么做?
问题是,当我在下一页,我做一个新的搜索,我有参数page=2
, start=25
, limit=25 dirty
,而不是我需要重置这个参数。
listeners: {
click: function(){
Ext.getCmp('GrlGio').getStore().removeAll();
Ext.getCmp('GrlGio').store.load({
params:{
mode: "RIC",
DataRicerca: dd,
Pit: Ext.getCmp('cmbPiattaforma').getValue()
}
});
}
}
谢谢!
在Ext 4中,我发现loadPage()在重置数据存储和使分页工具栏返回到第一页方面工作得非常好。例子:
store.loadPage(1) // note: 1-based, not 0-based
Guys currentPage=1帮我搞定了
在每次加载存储之前调用下面的方法顺便说一下,我得到500个结果,并在缓存加载分页是针对本地的,你可以在任何新的搜索
之前尝试这个方法 var store = Ext.getStore('MyStoreS');
store.proxy.extraParams = { employeeId : searchStr};
store.currentPage = 1;
store.load();
可以手动重置参数
Ext.getCmp('GrlGio').getStore().getProxy().pageParam =1;
Ext.getCmp('GrlGio').getStore().getProxy().startParam =0;
,然后进行存储加载。我知道这看起来是硬编码,但这是我找到的唯一解决方案…
试试这个-
pagingToolbar.moveFirst();
定义以下函数"resetStartParam",重写ext.data.store:
Ext.override(Ext.data.Store, {
resetStartParam:function(){
//get the latest store options
var storeOptions=this.lastOptions;
if(storeOptions!=undefined){
//get the param names
var pn = this.paramNames;
//get the params from options
var params=storeOptions.params;
//change the param start value to zero
params[pn.start] = 0;
//reset options params with this new params
storeOptions.params=params;
//apply this new options to store options
this.storeOptions(storeOptions);
}
}
});
现在调用这个函数点击你的搜索按钮:
Ext.getCmp('GrlGio').getStore().resetStartParam();
这它。
我知道这是一个旧的帖子,但我想我应该加上我的便士工作。我使用EXTJS 4,并有类似的问题。当我做了一个新的搜索,页码等没有重置。我找到的解决方案是使用存储的currentPage属性,它似乎可以自动处理导航栏。我确实有一个有点奇怪的设置,但是这样做。currentPage = 1,当我做一个新的搜索工作为我好
在处理程序中试试
Ext.getCmp('gridpanel').getStore().removeAll();
Ext.getCmp('PagingToolbar').moveFirst();
之后,放入搜索查询并相应地加载存储
Ext.getCmp('gridpanel').getStore().load({params : { start : 0, limit : maxRecords, searchText : _searchText } });
希望有所帮助
在removeAll()之后调用pagingToolbar.onLoad()。简单明了。
下面是我如何使用分页实现搜索的。它只执行1个请求并刷新分页数据。
onExecuteSearch: function(){
var params = this.getSearchForm().getForm().getFieldValues()
, proxy = this.getSomeGrid().getStore().getProxy();
proxy.extraParams = params;
this.getPagingToolbar().moveFirst();
}
getFieldValues()文档:http://docs.sencha.com/ext-js/4-0/#!/api/Ext.form.Basic-method-getFieldValues
更多关于代理"extraParams"看这里:ExtJs4 -存储baseParams配置属性?
可以正常工作(正确刷新分页信息):
myStore.removeAll();
myStore.fireEvent('load', myStore, [], {});
必须将打印整个存储/网格的页面大小更改为500,并且在打印完成后,将网格恢复为原始页面大小25。
// 500 records are now in the store and on the grid
ux.core.grid.Printer.print(this.getOrderList());
store.pageSize = this.displaySize; // new page size is 25
this.getPagingToolbar().doRefresh(); // equivalent of pressing a refresh button on the toolbar
做到了——用相同的sorters/filters/currentPage