¿Cómo desactivar la carga automática en jqGrid y cargar datos manualmente cuando lo necesito?Cómo deshabilitar la carga automática en jqGrid?
Gracias.
¿Cómo desactivar la carga automática en jqGrid y cargar datos manualmente cuando lo necesito?Cómo deshabilitar la carga automática en jqGrid?
Gracias.
Si configura datatype
en 'local'
, los datos del servidor no se cargarán. Para forzar la carga de datos, puede cambiar datatype
a 'json'
o 'xml'
con respecto al método setGridParam
(consulte http://www.trirand.com/jqgridwiki/doku.php?id=wiki:options y http://www.trirand.com/jqgridwiki/doku.php?id=wiki:methods#grid_related_methods) y luego llamar al método trigger("reloadGrid")
.
Ver jqGrid is not loading data que también tiene la información de lo que usted pidió.
Simplemente no establezca la URL predeterminada en la tabla. E instálelo justo cuando necesite cargar datos (por ejemplo, presionando un botón) y luego .trigger("reloadGrid")
.
Ejemplo para usted:
jQuery("#grid").jqGrid(
{
//Simply comment out the URL
//url :"salepointsprovider.php",
datatype:"json",
colModel :[
{name:'SalePointId', index:'SalePointId'},
{name:'Name', index:'Name'}
]
}
$('#ShowRecordsButton').click(function() {
jQuery("#grid").jqGrid('setGridParam',
{url:"salepointprovider.php?SalePointId=" + argSalePointId, page:1});
jQuery("#grid").trigger('reloadGrid');
}
Mi red sin enviar URL peticiones al servidor:?
.../_ búsqueda = false & nd = 1370817124473 & filas = 20 & page = 1 & SIDX = & sord = asc
Establecer tipo de dato: "local" soluciona el problema. Recargar red por
`function reloadGrid(gridId, gridData){ $(gridId).jqGrid('clearGridData'); // need for nonempty grig (see http://www.trirand.com/blog/?page_id=393/help/triggerreloadgrid-not-work/) $(gridId).jqGrid('setGridParam', {data: gridData}).trigger('reloadGrid'); } `
No hay necesidad de cambiar el tipo de datos (al menos para mi caso JSON se reconoce)
En treegrid que no podía utilizar el tipo de datos = 'local'. Por lo tanto, en lugar de 'local', establezco datatype = 'jsonstring', defino datos falsos vacíos y jsonReader. jsonReader debe definirse correctamente de acuerdo con los datos recuperados. Gracias por el answer de Oleg. Y, cuando necesito cargar datos, simplemente cambio el tipo de datos a 'json'.
var fakeData ={
rows: []
};
...
datatype: 'jsonstring',
datastr: fakeData,
...
jsonReader: {
repeatitems: false,
root: function (obj) { return obj.rows; },
page: function (obj) { return 1; },
total: function (obj) { return 1; },
records: function (obj) { return obj.length; }
}
Esta no es la respuesta a la pregunta. –
+1 voltear el tipo de datos funcionó a la perfección. ¡Gracias! – ongle