[英]Unchecking the user checked checkbox in the datagridview cell
我的DataGridView
有一列,其中有DataGridViewCheckBoxColumn
作为列模板。 当用户选中该复选框时,如果某些情况失败,我需要以编程方式取消选中该复选框。 我已经做到了,但是这种取消检查逻辑只有在我手动更改单元格的焦点之后才生效。 我尝试以编程方式更改焦点,但是没有用。 有什么解决办法吗?
只需将DataGridViewCell.Value
属性的值设置为false
(或true
):
((DataGridViewCheckBoxCell)row.Cells[CheckBoxColumn.Index]).value = false;
我找到了很少的代码更改的答案。 我使用了datagridview的取消编辑功能。 对于以前要触发的复选框值更改,我在CurrentCellDirtyStateChanged事件中使用了此代码。
CommitEdit(DataGridViewDataErrorContexts.Commit)
现在,我将其更改为。
CommitEdit(DataGridViewDataErrorContexts.CurrentCellChange)
并称为
CancelEdit()
回滚更改。
最近我有类似的问题。 在我的情况下,将单元格值设置为false或使用TrueValue和FalseValue(对于DataGridViewCheckBoxCell)失败。
最后,我设法通过简单的DataGridView方法实现我想要的(取消检查某些条件是否失败):
dataGridView1.CancelEdit()
希望能帮助到你。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.