我在 DataGridView 的一列中有复选框。
现在我遇到了一个问题:当我单击Checkbox一次时,它会发生变化,但只是视觉上的,在代码中它的值仍然设置为 false。但是,如果我单击复选框,然后单击 datagridview 上的任何其他位置(或在代码中手动更改其值 true),它会更改其值为 true。
如何在单击后强制我的复选框更改值?(令人讨厌的是检查复选框实际上没有检查它)。
谢谢你的帮助。
我在 DataGridView 的一列中有复选框。
现在我遇到了一个问题:当我单击Checkbox一次时,它会发生变化,但只是视觉上的,在代码中它的值仍然设置为 false。但是,如果我单击复选框,然后单击 datagridview 上的任何其他位置(或在代码中手动更改其值 true),它会更改其值为 true。
如何在单击后强制我的复选框更改值?(令人讨厌的是检查复选框实际上没有检查它)。
谢谢你的帮助。
当控件失去焦点时,将应用对基础数据源的更改。CellContentClick
您可以在事件中明确处理它。
请仔细阅读链接的文档,因为它描述了类似的场景,并讨论了不同类型的网格单元。
也发现了这个。完全相同的问题。
假设您有一个名为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();
}