Usted no es la única persona que tiene el problema. Respondí a the same question antes. Para volver a cargar el contenido de la cuadrícula desde el servidor, debe restablecer el parámetro datatype
al valor original "json" o "xml" y luego actualizar la cuadrícula. Por ejemplo
jQuery("#list").jqGrid('setGridParam',{datatype:'json'}).trigger('reloadGrid');
ACTUALIZADO: Para llamar a la línea interior de beforeRefresh controlador de eventos que pueden hacer los siguientes
jQuery("#list").jqGrid('navGrid','#pager',
{ edit:false,view:false,add:false,del:false,search:false,
beforeRefresh: function(){
alert('In beforeRefresh');
grid.jqGrid('setGridParam',{datatype:'json'}).trigger('reloadGrid');
}
});
he modificado un ejemplo de la mañana vieja cuestión. Here si hace clic en el botón de actualización puede ver en vivo cómo funciona el código.
ACTUALIZADO 2: Free jqGrid es compatible con algunas opciones nuevas. reloadGrid
evento admite el parámetro fromServer: true
que se puede usar para forzar la recarga de datos del servidor y navGrid
admite la opción reloadGridOptions
que se puede utilizar para especificar las opciones de reloadGrid
utilizadas al hacer clic en el botón Actualizar. Así que el código anterior podría ser
$("#list").jqGrid("navGrid", {
edit: false,
add: false,
del: false,
search: false,
reloadGridOptions: { fromServer: true }
});
Por cierto que uno puede utilizar la opción de navOptions
jqGrid para especificar las opciones predeterminadas de navGrid
(ver el artículo de la wiki). Permite escribir el código algo así como
$("#link").jqGrid({
// all typical jqGrid parameters
datatype: "json", // or "xml"
loadonce: true,
pager: true, // no empty div for page is required
navOptions: {
edit: false,
add: false,
del: false,
search: false,
reloadGridOptions: { fromServer: true }
}
}).jqGrid("navGrid");
Gracias - ¿Cómo se puede ejecutar este código cuando se hace clic en el botón de recarga? No tengo claro cómo configurar la barra de navegación para ejecutar el método 'beforeRefresh' si esto es lo que estás aludiendo. –
@Marcus: si es muy fácil. I incluye el código correspondiente en mi respuesta. – Oleg
@Oleg, intenté hacer esto, pero una vez que hago clic en el botón Actualizar, la paginación no funciona. –