2015-10-06 24 views
8

H ome mantenere la selezione casella di controllo dopo la pagina di aggiornamento/reload/reindirizzato da qualche altra pagina in jqGrid.jqGrid - mantenere controllo lo stato di selezione di dialogo - aggiornamento della pagina/redirect/ricaricare

Sto lavorando nelle pagine aspx.

Sono grado per mantenere lo stato di selezione casella di controllo nella paginazione con codice seguente:

gridComplete: function() { 
    var currentPage = $(this).getGridParam('page').toString(); //retrieve any previously stored rows for this page and re-select them 
    var retrieveSelectedRows = $(this).data(currentPage); 
    if (retrieveSelectedRows) { 
     $.each(retrieveSelectedRows, function (index, value) { 
     $('#list').setSelection(value, false); 
    }); 
    } 
    }, 
    onPaging: function (a) { 
    var pagerId = this.p.pager.substr(1); // ger paper id like "pager" 
    var pageValue = $('input.ui-pg-input', "#pg_" +   $.jgrid.jqID(pagerId)).val(); 
    var saveSelectedRows = $(this).getGridParam('selarrrow'); //Store any selected rows 
    $(this).data(pageValue.toString(), saveSelectedRows); 
    } 

Ma, come per mantenere lo stato di selezione casella di controllo nella pagina di aggiornamento/redirect/ricaricare in JQGrid?

Inoltre, ho provato il seguente codice Window.OnLoad, ma non sta funzionando

$("#list").trigger("reloadGrid", [{page: 1, current: true}]); 
+0

C'è qualche soluzione/idee/suggerimenti_ per questo _risultato/problema_? –

+0

Non hai commentato la risposta che ho pubblicato per te. Sei interessato alla soluzione? – Oleg

risposta

1

L'attuazione della selezione su più pagine della rete è molto difficile in vecchie versioni di jqGrid. Ho pubblicato the answer, the answer (prova the demo) con le corrispondenti implementazioni.

Dall'altro lato lo scenario di selezione di più righe su più pagine è molto comune. Così ho implementato una nuova funzionalità in free jqGrid. Ora si può semplicemente usare la nuova opzione multiPageSelection: true in combinazione con multiselect: true. Esso modifica il comportamento della selezione nel modo seguente:

  • si può usare selarrrow array preselezionare alcune righe direttamente durante la creazione della griglia.
  • l'array selarrrow può contenere gli ID di righe da altre pagine. L'array selarrrow non verrà cancellato quando si modifica la pagina. jqGrid seleziona solo le righe se è rowid nell'array selarrrow.
  • clic su casella di controllo "Seleziona tutto" nell'intestazione di colonne checkbox riempie selarrrow con tutti ROWIDs di locali data (da tutte le pagine)

The demo dimostra la nuova funzionalità.