2

我正在使用 ExtJs 的 pagingtoolbar,但是它不能正常工作。我有一个列出所有记录的网格,没问题,但是当我想分页自定义搜索结果时,它只会正确显示第一页,当我单击显示第二页时,它会返回原始 url(显示所有记录),但我希望商店网址仍然具有搜索网址。

原始网址:'historico-ocorrencia'

搜索网址:'historico-ocorrencia/search'

当我单击一个按钮时,会触发以下代码:

formSearch.submit({
                    url: 'historico-ocorrencia/search',
                    method: 'get',
                    params: {
                        dataInicial: time,
                        dataFinal: timeFinal
                    },
                    success: function(form, action) {
                        store.removeAll();
                        store.add(action.result.historicoOcorrencias);
                    },
                });

但是当我点击分页工具栏显示第二页时,上面的代码没有被触发,因为我没有点击按钮搜索。我想要一种使用 url 'historico-ocorrencia/search' 显示以下所有页面并仍然传递参数的方法。

谢谢,如果你有任何问题,请问我。

4

1 回答 1

2

您应该将表单从提交按钮更改为常规按钮,并在该按钮的处理程序中执行以下操作:

handler: function (){
    store.getProxy().url = 'historico-ocorrencia/search';
    store.getProxy().extraParams.dataInicial = time;
    store.getProxy().extraParams.dataFinal = timeFinal;
    (a reference to your paging toolbar).doRefresh();
}

您当前的事情不起作用的原因是因为您的商店总是为每个页面向服务器请求返回,而您没有做任何事情来更改它请求数据的方式,所以它只会以与它相同的方式执行请求一直。

于 2013-01-15T18:40:09.210 回答