(Vedi this question e this question per lo sfondo ...)SlickGrid onSelectedRowsChange si attiva due volte quando viene selezionata più di una riga?
Data:
grid = new Slick.Grid("#myGrid", data, columns, options);
grid.setSelectionModel(new Slick.RowSelectionModel());
grid.onSelectedRowsChanged.subscribe(function() {
row_ids = grid.getSelectedRows();
console.log(row_ids);
});
... quando seleziono una riga (ad esempio, riga 5), ottengo una potenza di
[4]
... che è quello che mi aspetterei. Tuttavia, CMD + clic o Maiusc + clic -ing un'altra riga (ad esempio, riga 3), in aggiunta a questa riga mi dà una potenza di
[2]
[4, 2]
... che non è quello che mi aspetterei (mi aspetterei solo [4, 2]
). Ciò sembra accadere fintanto che il numero di righe selezionate è > 1
. Quindi, se dovessi continuare a selezionare un'altra riga (ad esempio, riga 17), vorrei ottenere questo
[16]
[4, 2, 16]
ho aggiunto un punto di interruzione sulla dichiarazione console.log
e verificato che il onSelectedRowsChanged
è essere licenziato due volte: una volta per il riga appena cliccata e una volta per tutte le righe selezionate.
Perché è questo? Voglio solo che sia sparato una volta, dandomi l'array completo delle righe selezionate. Come potrei realizzare questo? O mi sta sfuggendo qualcosa?
quale versione di SlickGrid stai usando? Sto usando un checkout abbastanza aggiornato dal ramo "v2 master" (forse a metà gennaio 2011) e non ho riscontrato questo problema – fbuchinger
Sto usando "SlickGrid v2.0 alpha", direttamente dal github pagina. Ho trovato la fonte del problema ... pubblicando di seguito ... – neezer
Il mio male; aggiornata la domanda sopra (piuttosto che rispondere di seguito). – neezer