2010-11-17 3 views
6

Quale metodo si utilizza per SlickGrid per ottenere il contenuto della cella? Ad esempio:Ottenere dati dalle celle in SlickGrid

... 
grid = new Slick.Grid($("#myGrid"), data, columns, options); 
grid.onAddNewRow = function(item,colDef) { 
    grid.removeRow(data.length); 
    data.push(item); 
    grid.updateRowCount(); 
    grid.render(); 
} 

grid.onCurrentCellChanged = function(args){ 
    // get cell content! 
}; 
... 

Grazie in anticipo!

risposta

7

La griglia modifica direttamente l'origine dati, quindi le modifiche verranno applicate ai "dati". L'evento "onCurrentCellChanged" viene generato quando l'utente cambia la cella attiva/selezionata e ottiene {row: currentRow, cell: currentCell} come parametro. Per ottenere i dati della cella, è possibile utilizzare data[args.row][grid.getColumns()[args.cell].field], presupponendo che si stia utilizzando column.field per accedere ai dati e non un formattatore personalizzato che recuperi i dati in un altro modo.

+0

No, non sto usando una formattazione personalizzata, quindi questo è esattamente quello che sto cercando. Grazie a Tin! – maximus

2

grid.onCurrentCellChanged sembra essere cambiato a grid.onActiveCellChanged.subscribe in 2.0

+1

Sembra che onActiveCellChanged si verifichi quando l'utente si concentra su una cella diversa per la modifica. Per le modifiche nel valore dei dati nella cella, si desidera grid.onCellChange.subscribe. –

+0

@ E.Z.Hart Hai ragione +1 –