繁体   English   中英

在datagridview单元格中取消选中用户选中的复选框

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM