2009-08-18 8 views
14

Ho una pagina che visualizza una tabella in due diverse modalità. In ogni modalità ho un diverso set di colonne. Sto usando jqGrid per visualizzare la tabella. Quando provo a caricare la tabella per la seconda volta (con colonne uguali o diverse), la tabella non aggiornerà i dati.ricaricare un jqGrid caricato con dati di tabella diversi

Esiste un'API diversa per ricaricare i dati? O dovrei usare qualche metodo per cancellare il tavolo prima?

risposta

15

utilizzando il metodo "GridUnload" scaricherà la griglia e lascerà la tabella HTML originale. La prossima chiamata per creare la griglia partirà da zero con qualsiasi dato schema

26

Mi sono imbattuto in questo stesso problema oggi. Uso jqGrid per visualizzare i risultati di ricerca dai parametri specificati in uno o più campi modulo. Ho un evento click sul pulsante di ricerca e un evento keydown sui campi stessi per acquisire la chiave di ritorno. Entrambi gli eventi chiamano una funzione che serializza il modulo e crea il jqGrid iniziale.

Nella griglia iniziale, ho la possibilità di chiamare i reloadEvents funzione quando il gridCompletes:

gridComplete: reloadEvents 

Nella funzione reloadEvents ho:

$("#frmSearch").bind("keydown", function(e) { 
    if (e.keyCode == 13) { 
     $('#searchList').setGridParam({url:'/model/actSearch.cfm?'+$('#frmSearch').serialize()}); 
     $('#searchList').trigger("reloadGrid"); 
    } 
}); 

$('#btnSearch').click(function(){ 
    $('#searchList').setGridParam({url:'/model/actSearch.cfm?'+$('#frmSearch').serialize()}); 
    $('#searchList').trigger("reloadGrid"); 
}); 

Se si sta caricando i dati in la tua griglia in un modo diverso puoi usare setGridParam per cambiare tutto ciò che ti serve. Il metodo reloadGrid è ciò che dovrebbe aggiornare i dati in base ai parametri modificati.

+0

Che cosa deve contenere esattamente l'URL? I documenti sono molto vaghi, dicono semplicemente: "L'url del file che contiene la richiesta" non so cosa significhi. –

Problemi correlati