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
