我有一个DataGridView,它有一个list〈〉(全局变量)作为数据源,list是一个自制的用户数据类型的列表。UDT中的第一个值是一个布尔值,所以它在DataGridView中显示了一个复选框。
当我选中/取消选中复选框时,布尔值将在列表〈〉中更改。
它使用以下代码,但它循环遍历每一行并选中复选框
private void dgvObjecten_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
for (int i = 0; i < dgvObjecten.Rows.Count; i++)
{
Dig1Objecten[i].Import = (bool)dgvObjecten.Rows[i].Cells["Import"].Value;
}
//refresh DataGridView
dgvObjecten.DataSource = Dig1Objecten;
}
是否有办法获得更改的复选框的行号,以便每次更改1个复选框时不必遍历所有行?
1条答案
按热度按时间enxuqcxy1#
在
WinForms
中,典型的事件处理程序将包含一个sender
对象(Control
、Form
或其他发送事件的对象)和一个EventArgs
结构,该结构提供了事件的上下文信息。在这种情况下,RowIndex
和ColumnIndex
可以通过检查e
参数来确定(简单如𝜋)。