2014-09-11 2 views
0

У меня есть dataGridView, что его первым столбцом является checkBox.dataGridView CheckBox проверено dosen't work

Я хочу использовать проверенное событие на этом checkBox.

это мой код:

dataGridView1.EditingControlShowing += (sender, e) => 
      {               


       if (dataGridView1.CurrentCell.ColumnIndex == 0) 
       { 

        CheckBox cb = (CheckBox)e.Control; 
        cb.CheckedChanged += (s, e1) => 
         { 
          dosomething(); 
         }; 
        } 
       }; 

но когда я изменить флажок в первой колонке он никогда не переходит в событие CheckedChanged.

ответ

1

Вы можете изменить событие в CellContentClick случае вместо этого, а затем проверить, если это ваш флажок колонки:

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) 
{ 
    if (dataGridView1.Columns[e.ColumnIndex] is DataGridViewCheckBoxColumn) 
    { 
     DataGridViewCheckBoxCell cbCell = (DataGridViewCheckBoxCell)dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex]; 

     if (cbCell.Value == cbCell.TrueValue) 
     { 
      cbCell.Value = cbCell.FalseValue; 
     } 
     else 
     { 
      cbCell.Value = cbCell.TrueValue; 
     } 
     } 
} 
Смежные вопросы