我在下面有这个代码,当复选框中的复选框被选中时,它应显示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
{
}
}
答案 0 :(得分:1)
此代码永远不会点击消息框代码 - 您已创建控件,将其添加到表中,然后立即检查它们的值,这些值将不会设置。
您需要有一个事件处理程序来捕获datagridview中的已更改值:
private void dtg_ksluzby_CellValueChanged(object sender,
DataGridViewCellEventArgs e)
{
// Check through the cells here (or use event args to get data)
}