winforms DataGridView检测到单元格值更改(复选框)

5ktev3wc  于 2022-12-14  发布在  其他
关注(0)|答案(1)|浏览(155)

我有一个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个复选框时不必遍历所有行?

enxuqcxy

enxuqcxy1#

WinForms中,典型的事件处理程序将包含一个sender对象(ControlForm或其他发送事件的对象)和一个EventArgs结构,该结构提供了事件的上下文信息。在这种情况下,RowIndexColumnIndex可以通过检查e参数来确定(简单如𝜋)。

相关问题