No cargo datos en un grid utilizando Zend Framework
Hola!, qué tal!
Tengo un grave problema, estoy con esto ya un par de días y no consigo averiguar qué pasa.
Trato de visualizar información en un grid. Me lo construye bien pero no carga ningún dato. Extrae bien la información de la base de datos desde el controller pero al pasarla en formato json a la vista no se visualiza nada. Pongo el código php del action y también el código del grid. A ver si alguien puede echarme un mano porque estoy totalmente bloqueado.
Muchas gracias.
Este es el código del listadoAction una vez he accedido a los datos ($lista):
$data = array();
$data['data'] = $lista->toArray();
$data['total'];
$json = Zend_Json::encode($data);
echo $json;
Y este es el código del grid:
Ext.QuickTips.init();
Ext.onReady(function(){
var store = new Ext.data.JsonStore({
//module: socio
//controller: index
//action: listado
url : "http://localhost/eureka/public/socio/index/listado/",
autoDestroy : true,
autoLoad : true,
totalProperty : "total",
idProperty : "id",
root : "data",
fields : ["numero_socio",
"nombre",
"apellidos",
{name:"fecha_alta",type:"date",dateFormat:"Y-m-d h:i:s"},
"domicilio",
"codigo_postal",
"poblacion"
]
});
store.load();
var cm = new Ext.grid.ColumnModel({
defaults: {
sortable : true
},
columns : [
{header:"Núm. socio",dataIndex:"numero_socio",width : 60},
{header:"Nombre",dataIndex:"nombre",width : 80},
{header:"Apellidos",dataIndex:"apellidos",width : 150},
{header:"Fecha Alta",dataIndex:"fecha_alta",renderer:Ext.util.Format.dateRenderer("d M, Y")},
{header:"Domicilio",dataIndex:"domicilio",width : 200},
{header:"Código p.",dataIndex:"codigo_postal",width : 50},
{header:"Población",dataIndex:"poblacion",width : 100}
]
});
var paginador = new Ext.PagingToolbar({
store : store,
displayInfo : true,
displayMsg : '{0} - {1} de {2} socios',
emptyMsg : 'No hay socios',
pageSize : 4
});
var grid = new Ext.grid.GridPanel({
store : store,
cm : cm,
autoExpandColumn : 'apellidos',
height : 180,
stripeRows : true,
border : false,
bbar : paginador,
viewConfig : {
forceFit : true
}
});
var win = new Ext.Window({
title : "Socios",
y : 160,
layout : "fit",
width : 1000,
height : 300,
items : grid
});
win.show();
});
Luego en la vista tengo lo siguiente:
aquí cargo los javascripts:
headScript(); ?>
Listado de socios
Hola Crysfel, la próxima vez pondré los tags.
En cuanto al script, sí que extrae datos de la bd. y también se ve el grid en la pantalla, pero no carga los datos en el grid. Está vacío, debe ser algo relacionado con la vista del ZF.
Please, utiliza los tags <code class="prettyprint lang-js"></code> para poner tu código, de esta manera es más sencillo leer el código para el resto de nosotros y por lo tanto más probabilidades de recibir ayuda o solución a tu pregunta. (Por ahora voy a editar tu post para agregar los tags, pero please agregaselos para la otra :p )
Ahora bien, con respecto a tu pregunta, puedes mostrar lo que esta url "http://localhost/eureka/public/socio/index/listado/" regresa?
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.