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

Principiante Ayuda con Grid paginados.

Foros generales de ayuda Ext 3.0.

Ext.foro.Nuevo
Mensajes: 2
Registrado: 03 Feb 2012, 00:47
NotaPublicado: 03 Feb 2012, 00:50
Soy principiante y estoy aprendiendo como mostrar el contenido de un archivo xml en un grid, hasta ahi todo bien. El problema comienza cuando quiero ir mostrando de a grupos de registros (paginado), me muestra siempre todos los registros. Busque varios ejemplos y no encuentro el error, les dejo el codigo para ver si me pueden dar una mano, para los que llevan mas tiempo de manejo del codigo seguro se van a dar cuenta rapido. Mil Gracias.

Código: Seleccionar todo
var sUrl = '/wp-content/uploads/tables/TCgpcars.xml';

Ext.onReady(function(){

var Person = Ext.data.Record.create([ 
    {name: 'Pos'}, 
    {name: 'Nro'}, 
    {name: 'Piloto'}, 
    {name: 'Marca'},
    {name: 'Puntos'}
]);

var reader = new Ext.data.XmlReader({ 
    record: 'ChampData',
    totalRecords: 'TotalRecord',
    totalProperty: 'TotalRecord',
    id: 'Pos',
}, Person);

//creates the Ext.data.Store 
var store = new Ext.data.Store({ 
     url: sUrl,
     totalProperty: 'total',
     reader: reader //setting the reader 
}); 

var pager = new Ext.PagingToolbar({ 
    store: store, // <--grid and PagingToolbar using same store (required) 
    displayInfo: true, 
    displayMsg: '{0} - {1} of {2} Cities', 
    emptyMsg: 'No cities to display', 
    pageSize: 6 
}); 

// create the grid
var grid = new Ext.grid.GridPanel({
store: store, //le asignamos la fuente de datos
columns: [ //creamos las columnas
{header: "Pos.", width: 38, dataIndex: 'Pos', type: 'string'},
{header: "Nro", width: 35, dataIndex: 'Nro', type: 'string'},
{header: "Piloto", width: 100, dataIndex: 'Piloto', type: 'string'},
{header: "Marca", width: 60, dataIndex: 'Marca', type: 'string'},
{header: "Ptos", width: 40, dataIndex: 'Puntos', type: 'int'}
],
renderTo:'gridpanel',
width:540,
height:200,
bbar: pager, // <--- Barra de paginación
border: false, //le quitamos el borde
stripeRows: true //le asignamos rayas a las filas
});

store.load();
});
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!

Avatar de Usuario
Ext.foro.Moderador
Mensajes: 353
Registrado: 17 Ago 2009, 12:06
NotaPublicado: 03 Feb 2012, 11:16
el tema del paginado parece complicado al principio, pues a mi también me dio mas de un dolor de cabeza, pero es porque nadie explica claramente que la paginacion (la segmentación de datos) la debes hacer tu por el lado del servidor, es decir, tu código del lado del servidor debe arreglárselas para enviar la información segmentada, para eso el pagingtoolbar enviara 2 parámetros cada vez que le das al botón de sgte pagina o de pagina anterior: start y limit, segun como los hayas definido con los valores que estableciste.

espero te sea de utilidad (^_^)

Ext.foro.Nuevo
Mensajes: 2
Registrado: 03 Feb 2012, 00:47
NotaPublicado: 09 Feb 2012, 13:20
Hola tokkaido!!! gracias por responder. Ahora yo me hago una pregunta, en mi caso que estoy tomando los datos desde un archivo xml, (no los tomo de una base de datos), como hago para manejar las variables start y limit?... o quiza es que no lo puedo hacer tomando los datos de un archivo xml. ;D
Avatar de Usuario
Ext.foro.Moderador
Mensajes: 353
Registrado: 17 Ago 2009, 12:06
NotaPublicado: 09 Feb 2012, 13:30
Honestamente no he trabajado nunca con archivos XML asi que poco puedo decirte sobre ello, pero puedes leer este hilo por si te aclara un poco las cosas:
http://extjses.com/viewtopic.php?t=771&p=9837

los datos start y limit los pasa el pagingtoolbar cuando le das a los botones de avanzar y retroceder via POST por lo que del lado del servidor puedes capturarlos con

Código: Seleccionar todo
start = $_POST['start'];
limit = $_POST['limit'];


bueno, en php por lo menos

Volver a Ext 3.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!