Hola que tal, me tarde poco en responder por cuestiones personales, pero aquí esto de nuevo.!!
Adjunto un ejemplo completo donde se encuentra mi problema.
Código Javascript
:
Ver original// 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()
Cabe mencionar que cuando imprimo la variable que recibo en la función actualizaGrid(archivoXML) si la imprime bien y también funciona correctamente la generación de los grids, pero a menos de que recargue toda la pagina, que es lo que no quiero hacer.
Agradezco a cualquier usuario que colabore en la solución de este problema.
Saludos.