Ir para conteúdo


Foto

Reniciar o parametro page do store


Melhor Resposta thyagomuris , 19 May 2017 - 17:11

Conseguir descobrir como resolver.

 

 

Basta voltar o pagingtoolbar para primeira posição.

 

Fiz dessa forma.

Ext.getCmp('gridorders').down('pagingtoolbar').moveFirst();
Visualizar todo o conteúdo do post


  • Por favor, faça o login para responder
2 respostas neste tópico

#1 thyagomuris

thyagomuris

    Member Avançado

  • Membros
  • PipPipPip
  • 226 posts
  • LocationRio de Janeiro

Postado 19 May 2017 - 16:48

Pessoal,

 

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.

    dockedItems: [{
        xtype: 'toolbar',
        items: [{
            emptyText : 'Buscar pelo número de pedido, nome, cpf, sequence, email...',
            xtype: 'textfield',
            width: '100%',
            listeners: {
                    specialkey: function(f,e){
                        if (e.getKey() == e.ENTER) 
                        {
                            Ext.getCmp('gridorders').store.getProxy().extraParams = {   query: f.value,
                                                                                        status: "",
                                                                                        seller: ""
                                                                                    };
                                                                                
                        }
                    }
                }
            }]
    }],

Store

Ext.define('Admin.store.order.ListOrders', {
    extend: 'Ext.data.Store',

    alias: 'store.listorders',

    model: 'Admin.model.order.ListOrders',

    autoLoad: false,
    pageSize: 20,

    proxy: {
        type: 'ajax',
        url: 'http://localhost/api/integration/order/list/lojamodelo',
        reader: {
            type: 'json',
            rootProperty: 'list',
            totalProperty: 'paging.total'
        }
    }
});

Alguém tem uma luz?

 

 

Obrigado


Thyago Muris 


#2 thyagomuris

thyagomuris

    Member Avançado

  • Membros
  • PipPipPip
  • 226 posts
  • LocationRio de Janeiro

Postado 19 May 2017 - 17:11   Melhor Resposta

Conseguir descobrir como resolver.

 

 

Basta voltar o pagingtoolbar para primeira posição.

 

Fiz dessa forma.

Ext.getCmp('gridorders').down('pagingtoolbar').moveFirst();

Thyago Muris 


#3 Legolas

Legolas

    Ext JS - Admin

  • Administrators
  • 3497 posts
  • LocationBelo Horizonte

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: "" };

store.loadPage(1);
...

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.


"A verdadeira vitória não é derrotar alguém forte... É ser capaz de proteger alguém que você ama de verdade!" (Maito Dai)





0 usuário(s) está(ão) lendo este tópico

0 membros, 0 visitantes, 0 membros anônimos