Mi problema es con la actualización de un JQGrid, tengo un menú, y en algunas de sus opciones mando abrir un grid, la generación de los mismos funciona correctamente, pero a menos de que recargue toda la pagina, que es lo que no quiero hacer.

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