2010-10-22 36 views
7

Ho un DataGridView con una colonna DataGridViewCheckBoxColumn, che è un database in un elenco. Il problema è che la proprietà booleana del database per questa casella di controllo viene aggiornata non quando la casella di controllo è selezionata/deselezionata, ma dopo l'evento CellLeave in altre parole dopo che la cella perde lo stato attivo. Voglio che questa proprietà venga aggiornata subito dopo il controllo/deseleziona. C'è un evento CurrentCellDirtyStateChanged che viene attivato subito dopo che check/deseleziona, quindi posso usarlo per aggiornare manualmente la proprietà. C'è un modo migliore per farlo?DataGridView con problema cella CheckBox

risposta

13

È possibile ascoltare per l'evento CurrentCellDirtyStateChanged e la forza di confermare la modifica:

void dataGridView1_CurrentCellDirtyStateChanged(object sender, 
    EventArgs e) 
{ 
    if (dataGridView1.IsCurrentCellDirty) 
    { 
     dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit); 
    } 
} 
+0

Grazie! Questo è esattamente. – Max

Problemi correlati