2014-10-31 91 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 2014-10-31 09:18:29

+0

不能重现。 DGV如何填充? – kennyzx 2014-10-31 09:28:08

+0

你没有处理你的'dgv_CellContentClick' ...除非你手动设置它在表单加载? – Alex 2014-10-31 11:32:26

回答