2014-10-31 2 views
0

У меня есть приложение WinForms. Внутри DataGridView, я генерироваться столбец флажок динамически, используя следующий код:Как вызвать событие GridView_CellContentClick?

DataGridViewCheckBoxColumn myCheckedColumn = new DataGridViewCheckBoxColumn() 
    { 
     Name = "My column", 
     FalseValue = 0, 
     TrueValue = 1, 
     Visible = true 
    }; 

mydatagridview.Columns.Insert(0, myCheckedColumn); 

При нажатии на флажок, я хочу, чтобы выполнить проверку достоверности, как только один флажок получает чек, а не несколько флажков.

Я попытался использовать событие mydatagridview_CellContentClick, но я не смог вызвать это событие.

Я написал код события следующим образом:

private void mydatagridview_CellContentClick(object sender, DataGridViewCellEventArgs e) 
{ 
    if ((sender as DataGridView).CurrentCell is DataGridViewCheckBoxCell) 
    { 
     if (Convert.ToBoolean(((sender as DataGridView).CurrentCell as DataGridViewCheckBoxCell).Value)) 
     { 
      int currentcolumnclicked = e.ColumnIndex; 
      int currentrowclicked = e.RowIndex; 

      foreach (DataGridViewRow dr in associatinggridView.Rows) 
      { 
       dr.Cells[currentcolumnclicked].Value = false; 
      } 

      associatinggridView.CurrentRow.Cells[currentrowclicked].Value = true; 
     } 
    } 
} 
+1

Вы подключили событие ??? (вставьте имя события 'mydatagridview_CellContentClick' в соответствующий слот на вкладке событий панели свойств DGV!) – TaW

+0

не может воспроизвести. как заполняется DGV? – kennyzx

+0

У вас нет дескриптора на вашем 'dgv_CellContentClick' ... Если вы не вручную установили его на загрузку формы? – Alex

ответ

Смежные вопросы