如何清除存储并更新分页工具栏



我需要重置分页工具栏参数为"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

重新加载存储

最新更新