2010-11-17 20 views
6

¿Qué método debo usar para que SlickGrid obtenga los contenidos de la celda? Por ejemplo:Obtener datos de las celdas en 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! 
}; 
... 

¡Gracias de antemano!

Respuesta

7

La grilla está modificando su fuente de datos directamente, por lo que los cambios se aplicarán a "datos". El evento "onCurrentCellChanged" se activa cuando el usuario cambia la celda activa/seleccionada y obtiene {row: currentRow, cell: currentCell} como parámetro. Para acceder a los datos de la celda, puede usar data[args.row][grid.getColumns()[args.cell].field], suponiendo que está utilizando el campo column.field para acceder a los datos y no un formateador personalizado que obtiene los datos de alguna otra manera.

+0

No, no estoy usando un formateador personalizado, por lo que este es exactamente lo que estoy buscando. Gracias Tin! – maximus

2

grid.onCurrentCellChanged parece haber cambiado a grid.onActiveCellChanged.subscribe en 2,0

+1

Parece que onActiveCellChanged se produce cuando el usuario se enfoca en una celda diferente para editar. Para cambios en el valor de los datos en la celda, desea que grid.onCellChange.subscribe. –

+0

@ E.Z.Hart Tienes razón +1 –

Cuestiones relacionadas