DataGridViewCheckBoxColumn - 如果checkBox选中了问题

时间:2013-07-17 09:55:26

标签: c# checkbox datagridview

我在下面有这个代码,当复选框中的复选框被选中时,它应显示messageBox。对我来说,我知道这行是真的被选中了。

如果这样可行,我将把SelectedRows保存到DB中。因此,在构建此代码时可能会有所帮助。因为我是初学者,我想问你们,为什么当我检查checkBox时,MessageBox没有apper? 非常感谢提前。

  DataGridViewCheckBoxColumn chk = new DataGridViewCheckBoxColumn();
  dtg_ksluzby.Columns.Add(chk);
  dtg_ksluzby.Columns[3].Width = 20;

  foreach (DataGridViewRow row in dtg_ksluzby.Rows)
  {
      // number 3 represents the 4th column of dgv
      DataGridViewCheckBoxCell chk1 = row.Cells[3] as DataGridViewCheckBoxCell; 
      if (Convert.ToBoolean(chk1.Value) == true)
      {
         MessageBox.Show("this cell checked");
      }
      else
      {
      }
  }

1 个答案:

答案 0 :(得分:1)

此代码永远不会点击消息框代码 - 您已创建控件,将其添加到表中,然后立即检查它们的值,这些值将不会设置。

您需要有一个事件处理程序来捕获datagridview中的已更改值:

private void dtg_ksluzby_CellValueChanged(object sender, 
                                          DataGridViewCellEventArgs e)
{
    // Check through the cells here (or use event args to get data)
}