• Publicidad (ayudanos a mantener el Foro haciendo un click sobre la misma)
  • Cuixer, una forma de administrar páginas web que nunca viste!

Actualizar datos del PagingToolbar de un Grid Panel

Foros generales de ayuda Ext 4.0.

Ext.foro.Nuevo
Mensajes: 1
Registrado: 02 Dic 2011, 08:51
NotaPublicado: 02 Dic 2011, 09:21
Buenas a tod@s,

Soy nuevo en el mundo Extjs. Estoy usando la versión 4 y me gustaría saber como refrescar los datos del PagingToolbar asociado a mi Grid.

Tengo el siguiente store:

Código: Seleccionar todo
Ext.define('Clientes', {             
    extend: 'Ext.data.Model',
    idProperty: 'clientes',
    fields: [
    {name:'id'},   
    {name: 'nombre'},
    {name: 'apellido1'},
    {name: 'apellido2'},
    {name: 'nifcif'},
    {name: 'email'}
    ]
    });

var store = Ext.create('Ext.data.Store', {
    model: 'Clientes',
    remoteSort: true,
    pageSize: 2,
    proxy: {
       type: 'pagingmemory',
       data: datos,
       reader: {
          type: 'array'
       }
    }
});


Mi paginador es el siguiente:

Código: Seleccionar todo
var paginacion = Ext.create('Ext.PagingToolbar', {
   id:'idPaginacion',
   emptyMsg: "No existen elementos",
    renderTo:   'ColumnaDerechaSinMenu',
    pageSize: 2,
    width: 875,
    store: store,
    displayInfo: true,
    plugins: Ext.create('Ext.ux.SlidingPager', {})
});


que esta asociado al siguiente grid:

Código: Seleccionar todo
var grid = Ext.create('Ext.grid.Panel', {
   id:'idGrid',
    store: store,
    stateful: true,
    stateId: 'stateGrid',
    columns: [
         {
                  text     : 'ID',
                  sortable : false,
                  dataIndex: 'id',
                  hidden:true
           }
         ....
         ....
         ....
    ],
    bbar: paginacion,
    height: 200,
    width: 875,
    title: 'Listado de clientes',
    viewConfig: {
        stripeRows: true
    }
});


Este grid esta dentro de un formulario y este formulario tiene un botón. Al pulsar este botón hago una llamada con JSON y obtengo nuevos valores para mi grid. Para el grid consigo actualizar los datos pero he probado algunas opciones para que se me actualice el PagingToolBar con el nuevo número número de registros pero nada.

Al ser pulsado el botón del formulario se realiza la acción de JSON que nos duelve un array con los nuevos datos.
Código: Seleccionar todo
Ext.get('idCriterios').on('click', function(){  //Mostrar los datos en el formulario de un cliente en concreto por id
   var noCache = Date();
        $.getJSON("./bandejaExpediente2009SinValidar.do?metodo=busquedaClientes&"+valoresURL,{"noCache": noCache},function(data){
       datos = new Array(data.length);
       $.each(data, function(i){
           var array = new Array();
           array[0] =  this.id; 
           array[1] =  this.nombre;
           array[2] =  this.apellido1;
           array[3] =  this.apellido2;
           array[4] =  this.nifcif;
           array[5] =  this.email
           datos[i] = array;          
       }); 
               
       var grid = Ext.getCmp('idGrid');
         Ext.grid.dummyData = datos;
       grid.getStore().loadData(Ext.grid.dummyData);               
    });           
});

Con grid.getStore().loadData consigo que el grid se actualice con los nuevos datos, pero el pagingToolBar no se me actualiza. ¿Alguien puede ayudarme?

Muchas gracias de antemano
Para no ver esta publicidad, debes ser usuario del Foro.
Publicidad (ayudanos a mantener el Foro haciendo un click sobre la misma)


Cuixer, una forma de administrar páginas web que nunca viste!

Volver a Ext 4.0: Ayuda





  • Publicidad (ayudanos a mantener el Foro haciendo un click sobre la misma)
  • Cuixer, una forma de administrar páginas web que nunca viste!

cron