在datagridviewcheckboxcolumn中获取CheckBox的正确值
本文关键字:CheckBox datagridviewcheckboxcolumn 获取 | 更新日期: 2023-09-27 18:11:20
我在DataGridView
中有一个CheckBox
列,称为Status
,当我check
或uncheck
它时,我想更新数据库中false
的true
。目前我有以下的方法,应该做到这一点。
当选择特定的行时,SelectedEmployeeID
属性和StatusOfSelectedEmployee
属性被准确地分配值。但是我想要实现的是,当我check
或uncheck
CheckBox
而不是选择行时,我想要做到这一点。现在,当我点击CheckBox
时,只有SelectedEmployeeID
属性被分配了正确的值。StatusOfSelectedEmployee
总是false
。
private void DGV_CellClick(object sender, DataGridViewCellEventArgs e)
{
SelectedEmployeeID = DGV.Rows[e.RowIndex].Cells["EmployeeID"].Value.ToString();
StatusOfSelectedEmployee = Convert.ToBoolean(DGV.Rows[e.RowIndex].Cells["EmployeeStatus"].Value);
if (e.ColumnIndex == 10 & e.RowIndex != -1) //CheckBox column's col_index is 10
{
OnChangeEmployeeStatus(sender, e); //This will update the status
}
}
- 如何获得
StatusOfSelectedEmployee
属性的正确值? - 如何避免硬编码在if条件下使用列名而不是数字?
1)尝试使用DataGridView.CellValueChanged
事件。它在您更改值
Datagridview1.Columns["columnName"].Index