2010-05-30 5 views
0

J'utilise un DataTable de matrice lié à un DataGrid. Les modifications de cellule ne sont pas validées sur le DataTable jusqu'à ce qu'une ligne différente soit cliquée. Comment est-ce que je peux commettre des changements quand n'importe quelle cellule obtient le foyer?Comment commuter cellule Modifier lors de quitter la cellule

Répondre

3

Merci à CodeFluff pour la réponse. Je l'ai adapté à VB.Net et inclus un commit à la fermeture de la fenêtre.

Private EditCommited As Boolean 

Private Sub MainWindow_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles Me.Closing 
    CommitEdit() 
End Sub 

Private Sub DataGrid1_CellEditEnding(ByVal sender As Object, ByVal e As System.Windows.Controls.DataGridCellEditEndingEventArgs) Handles DataGrid1.CellEditEnding 
    CommitEdit() 
End Sub 

Sub CommitEdit() 
    If Not EditCommited Then 
     EditCommited = True 
     DataGrid1.CommitEdit(DataGridEditingUnit.Row, True) 
     EditCommited = False 
    End If 
End Sub 
Questions connexes