2010-11-17 2 views
6

Quelle méthode est-ce que j'utilise pour SlickGrid pour obtenir le contenu de la cellule? Par exemple:Obtention de données à partir de cellules dans 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! 
}; 
... 

Merci d'avance!

Répondre

7

La grille modifie directement votre source de données, de sorte que les modifications seront appliquées aux "données". L'événement "onCurrentCellChanged" est déclenché lorsque l'utilisateur change la cellule active/sélectionnée et obtient {row: currentRow, cell: currentCell} en tant que paramètre. Pour accéder aux données de la cellule, vous pouvez utiliser data[args.row][grid.getColumns()[args.cell].field], en supposant que vous utilisiez column.field pour accéder aux données et non un formateur personnalisé qui obtient les données d'une autre manière.

+0

Non, je ne suis pas l'aide d'un formatter personnalisé, donc c'est exactement ce que je cherche. Merci Tin! – maximus

2

grid.onCurrentCellChanged semble avoir changé à grid.onActiveCellChanged.subscribe en 2.0

+1

Apparemment, onActiveCellChanged se produit lorsque l'utilisateur se concentre sur une cellule différente pour l'éditer. Pour les modifications de la valeur des données dans la cellule, vous voulez grid.onCellChange.subscribe. –

+0

@ E.Z.Hart Vous avez trouvé +1 –

Questions connexes