AYUDA CON PAGINACION
Hola amigos, quisiera que me ayuden con este tema, ya e probado mil maneras y no me sale, les explico un poco como se muestra, se quiere realizar una paginacion en el cual tan
solo se deben mostrar cada 20 registros por pagina pero con este codigo me muestra todo y en todas las paginas.
este es mi json generado
{"resultado":[
{"empleado":"0078","nombre":"Pajuelo Uca\u00F1\u00E1n Fred Enrique","sexo":"M","identificacion":"07623309"},
{"empleado":"0079","nombre":"Jurado Mendez Vladimir","sexo":"M","identificacion":" 08160557"},
{"empleado":"0080","nombre":"Roca Ram\u00EDrez Mario Federico","sexo":"M","identificacion":"06954149"},
{"empleado":"0081","nombre":"Rodr\u00EDguez Constantinides Luis Alberto","sexo":"M","identificacion":"09397939"}]}
continua mas data
aca esta la funcion
Ext.onReady(function(){
var store = new Ext.data.JsonStore({
url: 'http://localhost/json/index_json.asp',
root: 'resultado',
//totalProperty: 'total',
fields: ['empleado','nombre','sexo','identificacion'],
baseParams: {x:10,y:20}
});
var pager = new Ext.PagingToolbar({
store: store, // <--grid and PagingToolbar using same store
displayInfo: true,
displayMsg: '{0} - {1} de {2} Datos Disponibles',
emptyMsg: 'No hay Datos Disponibles',
pageSize: 20
});
pager.on('beforechange',function(bar,params){
params.z = 30;
});
var grid = new Ext.grid.GridPanel({
store: store, // <--grid and PagingToolbar using same store
columns: [
new Ext.grid.RowNumberer(),
{
header:'Empleado',
dataIndex:'empleado',
align: 'center',
sortable: true
},
{
header:'Nombre',
dataIndex:'nombre',
sortable: true
},
{
header:'Sexo',
dataIndex:'sexo',
sortable: true
},
{
header:'Identificacion',
dataIndex:'identificacion',
align: 'right',
sortable: true
}
],
bbar: pager, // <--adding the pagingtoolbar to the grid
border: false,
stripeRows: true,
title: 'Reporte Empleados',
layout: 'fit',
width: 510,
height:350,
items: grid
});
grid.render('grid-example');
store.load({params:{z:30,start:0,limit:5}});
})
Me sucedio algunas veces, en realidad no entiendo porque, pero lo he solucionado de la siguiente manera:
1) El pageSize: 20 debe ser igual al limite de numero de registros, te quedaria mas o menos de la siguiente manera
//Codigo de la barra de paginacion var pager = new Ext.PagingToolbar({ store : store, // <--grid and PagingToolbar using same store displayInfo : true, displayMsg : '{0} - {1} de {2} Datos Disponibles', emptyMsg : 'No hay Datos Disponibles', pageSize : 20 });Y al momento de cargar el store algo asi
store.load({ params:{ z : 30, start : 0, end : 20 } });Al principio manejaba [b]limit[/b] pero no me funciono, asi que poniendo [b]end[/b] en vez de [b]limit[/b] logre solucionarlo. Fijate que el segundo parametro de (puede ser [b]limit[/b] o [b]end[/b]) sea igual que el tamaño del [b]pagesize[/b]. Saludos y espero que te funcione
por que tienes
//totalProperty: 'total', comentado?? trata quitando el comentario y enviando esa variable (que el numero de registros totales, sin limites, es decir sin start ni limit en la consulta) en la respuesta JSON quedando algo así:
{"total":(aca el numero total de registros en tu consulta),"resultado": {"empleado":"0078","nombre":"Pajuelo Uca\u00F1\u00E1n Fred Enrique","sexo":"M","identificacion":"07623309"}, {"empleado":"0079","nombre":"Jurado Mendez Vladimir","sexo":"M","identificacion":" 08160557"}, {"empleado":"0080","nombre":"Roca Ram\u00EDrez Mario Federico","sexo":"M","identificacion":"06954149"}, {"empleado":"0081","nombre":"Rodr\u00EDguez Constantinides Luis Alberto","sexo":"M","identificacion":"09397939"}]} continua mas dataEspero que eso te ayude!!
Hola me gustaria si alguno de ustedes saben si en el paging toolbar se puede obtener el numero de la pagina, me gustaria saber para unas validaciones ke engo que hacer.
Utiliza el método "getPageData()", ese método te regresa un objeto con la información que necesitas.
var paginador = new Ext.PagingToolbar({ store : store, displayInfo : true, displayMsg : '{0} - {1} de {2} posts', emptyMsg : 'No hay posts para desplegar', pageSize : 10 }); console.debug(paginador.getPageData()); // <-- Asi!!Saludos
¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook
Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.