2017-06-22 1 views
0

Dies scheint eine ziemlich grundlegende Funktionalität zu sein, aber ich kann keine bestimmten Beispiele in StackOverflow oder Dokumentation finden.DataGridView run Methode beim Anklicken und Entfernen einer Checkbox Zelle

Die Überprüfung der Ereignisse für ein DataGridView scheint dort nichts zu sein, das direkt auf Änderungen in einer checkboxcell überwacht.

Kann jemand ein Beispiel für die Überwachung für ein checkbox check-Ereignis in datagridview bereitstellen und dann eine Methode ausführen?

Antwort

0

Nach ein bisschen mehr von der Suche fand ich, dass der beste Weg, um den geänderten Wert zu erhalten, ist für die CurrentCellDirtyStateChanged und mit dem Abzug der Bearbeitungs zu überprüfen und überprüfen Sie die Zellen aktuellen Wert:

private void DataGrid_CellValueChanged(object sender, DataGridViewCellEventArgs e) 
{ 
    if (DataGrid.Columns[e.ColumnIndex].Name == "colReserved") 
    { 

     DataGridViewCheckBoxCell checkCell = (DataGridViewCheckBoxCell)DataGrid.Rows[e.RowIndex].Cells["colReserved"]; 

     if ((Boolean)checkCell.Value) 
     { 
      //Checked 
      MessageBox.Show("Checked"); 
     } 
     else 
     { 
      //Not Checked 
      MessageBox.Show("UnChecked"); 
     } 

     DataGrid.Invalidate(); 
    } 
} 

private void DataGrid_CurrentCellDirtyStateChanged(object sender, EventArgs e) 
{ 
    if (DataGrid.IsCurrentCellDirty) 
    { 
     DataGrid.CommitEdit(DataGridViewDataErrorContexts.Commit); 
    } 
} 
Verwandte Themen