我正在使用ExtJs中的pagingtoolbar,但是它无法正常工作。我有一个列出所有记录的网格,没有问题,但是当我想分页自定义搜索结果时,它只是正确显示第一页,当我点击显示第二页时它会回到原始网址(显示所有记录),但我希望商店网址仍然有搜索网址。
原始网址:'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);
},
});
但是当我点击分页工具栏显示第二页时,上面的代码没有被触发,因为我没有点击按钮搜索。我想要一种方法来显示所有以下页面使用网址'historico-ocorrencia / search'并仍然传递参数。
谢谢,如果您有任何问题,请问我。
答案 0 :(得分: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();
}
您当前的东西不起作用的原因是因为您的商店总是为每个页面请求返回服务器而您没有做任何事情来改变它请求该数据的方式,因此它将以与它相同的方式执行请求一直这样做。