Tengo el siguiente código HTML en mi sitio:jqGrid dando excepción cuando se intenta JSON para ser cargados
<link type="text/css" href="/Styles/ui-lightness/jquery-ui-1.8.2.custom.css" rel="Stylesheet" />
<link type="text/css" href="/Styles/ui.jqgrid.css" rel="Stylesheet" />
<script type="text/javascript" src="/Scripts/jquery-1.4.2.min.js" ></script>
<script type="text/javascript" src="/Scripts/jquery-ui-1.8.2.min.js" ></script>
<script type="text/javascript" src="/Scripts/grid.locale-en.js" ></script>
<script type="text/javascript" src="/Scripts/jquery.jqGrid.min.js" ></script><link type="text/css" rel="Stylesheet" href="Styles/Site.css" />
...
<script type="text/javascript">
$(document).ready(function() {
jQuery("#tblScheduledReleases").jqGrid({
url: '/Release/GetScheduledReleases',
datatype: "json",
mtype: 'POST',
colNames: ['Id', 'Version', 'Name', 'Scheduled Date'],
colModel: [
{ name: 'id', width: 55 },
{ name: 'version', width: 90 },
{ name: 'name', width: 100 },
{ name: 'date', width: 90 }
],
autowidth: true,
sortname: 'date',
viewrecords: true,
sortorder: "desc",
caption: "Scheduled Releases"
});
});
</script>
....
<table id="tblScheduledReleases"></table>
<div id="divScheduledPager"></div>
Ahora, cuando esta carga la cuadrícula muestra con las columnas correctas y luego muestra el mensaje Loading
. Sin embargo, está permanentemente atascado en la sección de carga. La apertura de la consola de Chrome muestra el siguiente error:
Uncaught TypeError: Cannot read property '0' of undefined in jquery.jqGrid.min.js:14
Aquí está el JSON devueltos por mi servidor web solicitada por el jqGrid:
{
"page":"1",
"total":"1",
"records":6,
"rows":[
{"id":"37","version":"4.14.9.1","name":"4.14 Patch 8","date":"2010-07-08"},
{"id":"39","version":"4.15.4.1","name":"4.15 Patch 3","date":"2010-07-08"},
{"id":"36","version":"4.13.11.1","name":"4.13 Patch 11","date":"2010-07-15"},
{"id":"40","version":"4.15.5.1","name":"4.15 Patch 4","date":"2010-07-22"},
{"id":"38","version":"4.14.10.1","name":"4.14 Patch 9","date":"2010-07-22"},
{"id":"30","version":"4.16.1.1","name":"4.16 Release","date":"2010-07-30"}
]
}
¿Por qué recibo esta excepción?
Impresionante que funcionó! – KallDrexx
¡Debe funcionar! El valor predeterminado de 'repeatitems' es' true' y jqGrid intenta leer todos por números, por lo que en lugar de cada elemento en la fila como {"id": "37", "versión": "4.14.9.1", "nombre": "4.14 Patch 8", "date": "2010-07-08"} por ejemplo, debería tener array ["37", "4.14.9.1", "4.14 Patch 8", "2010-07-08"]. – Oleg
Nuevamente una cuadrícula de respuesta jqGrid de Oleg. ¡Thx hombre! – Steven