8

我在 DataGridView 的一列中有复选框。

现在我遇到了一个问题:当我单击Checkbox一次时,它会发生变化,但只是视觉上的,在代码中它的值仍然设置为 false。但是,如果我单击复选框,然后单击 datagridview 上的任何其他位置(或在代码中手动更改其值 true),它会更改其值为 true。

如何在单击后强制我的复选框更改值?(令人讨厌的是检查复选框实际上没有检查它)。

谢谢你的帮助。

4

2 回答 2

9

当控件失去焦点时,将应用对基础数据源的更改。CellContentClick您可以在事件中明确处理它。

请仔细阅读链接的文档,因为它描述了类似的场景,并讨论了不同类型的网格单元。

也发现了这个。完全相同的问题。

于 2013-04-15T12:08:51.453 回答
1

假设您有一个名为Form1的表单

名称为dgv的 DataGridView

其中一个 CheckBoxColumn 与 ColumnIndex = 5

public Form1()
{
    InitializeComponent();
    dgv.CellContentClick += dgv_CellContentClick;
}

在该特定列的事件中提交数据网格的更改

private void dgv_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
    if (e.ColumnIndex == 5) dgv.EndEdit();
}
于 2018-08-01T22:43:50.393 回答