Aquí adjunto un ejemplo claro de mi código javascript:
Código Javascript :
// El grid siempre se abrira cuando le de click a un elemento 'a' $( 'a' ).click(function(){ var idSel = $(this).attr('id') // Opción seleccionada en menu // Variables para generación de GRID var archivoXML = "" var txtColNames = "" var txtModel = "" var txtSortName = "" var txtCaption = "" var nr = 20 // Segun la opción que seleccionen asigna valores distintos a variables para el GRID switch(idSel){ case 'btnUsuarios': archivoXML = "xmlUsuarios.php" txtColNames = ['id','username','correo electronico'] txtModel = [ {name:'id', index:'id', width:80, sortable:false}, {name:'username', index:'username', width:120, sortable:false}, {name:'mail', index:'mail', width:180, sortable:false} ], txtSortName = "id" txtCaption = "Listado de Usuarios" break; case 'btnDistritos': archivoXML = "xmlDistritos.php" txtColNames = ['Municipio','Direccion','Teléfono'] txtModel = [ {name:'municipio', index:'municipio', width:200, sortable:false, align:"center"}, {name:'direccion', index:'direccion', width:550, sortable:false}, {name:'telefono', index:'telefono', width:120, sortable:false, align:"center"} ], nr = 25 txtSortName = "municipio" txtCaption = "Listado de Distritos" break; default: } // Fin switch() // Intentamos actualizar grid ( A Q U I M I P R O B L E M A ) actualizaGrid(archivoXML); // Reload de Grid // Llamamos funcion que genera el grid generaGrid(archivoXML,txtColNames,txtModel,nr,txtSortName,txtCaption); }); // Fin $( 'a' ).click() // ----------------- Actualizacion de GRID ------------------------------- function actualizaGrid(archivoXML){ // Recibimos archivo a actualizar var urlRecargar = '../archivosXML/'+archivoXML; //alert(urlRecargar) $( '#tabla' ).jqGrid('setGridParam', {url:urlRecargar,datatype: "xml" }) $( '#tabla' ).trigger("reloadGrid") } // Fin actualizaGrid() // ----------------- Generacion de JQGrid ------------------------------- function generaGrid(archivoXML,txtColNames,txtModel,nr,txtSortName,txtCaption){ $( '#tabla' ) .jqGrid({ url:'../archivosXML/'+archivoXML, datatype: "xml", height: 350, colNames:txtColNames, colModel:txtModel, rowNum:nr, autowidth: false, rowList:[10,20,30,50,100], pager: $('#pager'), sortname: txtSortName, multiselect: false, viewrecords: true, sortorder: "asc", caption:txtCaption }) .navGrid('#pager',{edit:false,add:false,del:false,search:true}); } // Fin generaGrid()
Agradezco ampliamente al usuario que se tome su valioso tiempo para intentar resolver conmigo este detalle.
Saludos