Reniciar o parametro page do store - Ext JS 6.x - ExtJS Brasil
Reniciar o parametro page do store
Criado por thyagomuris , May 19 2017 16:48
Melhor Resposta thyagomuris , 19 May 2017 - 17:11
Conseguir descobrir como resolver.
Basta voltar o pagingtoolbar para primeira posição.
Ext.getCmp('gridorders').down('pagingtoolbar').moveFirst();
#1 thyagomuris
thyagomuris
Postado 19 May 2017 - 16:48
To com uma dúvida aqui, que até agora não consegui resolver.
Tenho um grid e nesse grid posso fazer buscas por nome ou coisa do tipo.
A situação é a seguinte, o grid está mostrando todos os dados, mais de 200 paginas. Ai eu estou na pagina 2 e mando buscar pelo nome "thyago", quando eu dou o load no store com o parametro extra. Ao fazer o request, o parametro page sai igual a 2, só que na pagina 2 não tem nada, somente na pagina 1.
Se eu setar o parametro page antes do load do store, sempre vai ficar com o page = 1.
Eu não sei como resolver.
O que eu estou fazendo é o seguinte.
emptyText : 'Buscar pelo número de pedido, nome, cpf, sequence, email...',
Ext.getCmp('gridorders').store.getProxy().extraParams = {   query: f.value,
seller: ""
Ext.define('Admin.store.order.ListOrders', {
alias: 'store.listorders',
model: 'Admin.model.order.ListOrders',
url: 'http://localhost/api/integration/order/list/lojamodelo',
totalProperty: 'paging.total'
#2 thyagomuris
Postado 19 May 2017 - 17:11 Melhor Resposta
Postado 25 May 2017 - 11:19
Olá thyagomuris,
Esse problema é recorrente, pois geralmente quando se faz o load no store ele pega os parâmetros atuais e faz um novo request.
No seu caso o que pode fazer é setar os dados de parâmetros e após isso utilizar o método "loadPage" informando a página 1 a ser carregada.
Em tese o método moveFirst do PagingToolbar irá fazer o carregamento da primeira página do Store, ou seja, irá utilizar o método loadPage do Store para carregar novamente a primeira página. (Veja o código no link do método moveFirst)
Então no seu caso ficaria algo do tipo:
var store = Ext.getCmp('gridorders').getStore();
store.getProxy().extraParams = { query: f.value, status: "", seller: "" };
Só uma observação, a utilização de IDs fixos não é uma boa abordagem, se o seu PagingToolbar é um filho do seu Grid então usando o método up passando a query 'grid' você deve conseguir pegar a referência do seu Grid.