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

jac*_*ney 15 extjs extjs4

我需要重新分页工具栏参数"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()
                }
        });
    }
 }
Run Code Online (Sandbox Code Playgroud)

谢谢!

Xåp*_* - 13

在Ext 4中,我发现loadPage()非常适合重置数据存储并使分页工具栏返回到第一页.例:

store.loadPage(1) // note: 1-based, not 0-based
Run Code Online (Sandbox Code Playgroud)


小智 8

伙计们 currentPage=1 对我有用

在每次加载商店之前调用下面的方法顺便说一下,我得到了 500 个结果并且加载到缓存中 分页是针对本地的,任何方式你都可以在任何新搜索之前尝试这个

                        var store = Ext.getStore('MyStoreS');
                        store.proxy.extraParams = { employeeId : searchStr};

                        store.currentPage = 1;

                        store.load();
Run Code Online (Sandbox Code Playgroud)


nsc*_*rob 6

你可以手动重置params

Ext.getCmp('GrlGio').getStore().getProxy().pageParam =1;
Ext.getCmp('GrlGio').getStore().getProxy().startParam =0;
Run Code Online (Sandbox Code Playgroud)

然后做商店负载.我知道它看起来硬编码,但它是我发现的唯一解决方案......


Amo*_*are 5

试试这个 -

pagingToolbar.moveFirst();
Run Code Online (Sandbox Code Playgroud)


rst*_*rst 5

通过覆盖 ext.data.store 定义以下函数 "resetStartParam" :

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);
                    }
                }
    });
Run Code Online (Sandbox Code Playgroud)

现在点击你的搜索按钮调用这个函数:

Ext.getCmp('GrlGio').getStore().resetStartParam(); 
Run Code Online (Sandbox Code Playgroud)

就是这样。它应该工作。


Law*_*nce 5

只需在 removeAll() 之后调用 pagingToolbar.onLoad()。干净利落。