2017-10-12 55 views
-1

在我的Winforms应用程序中,我有一个包含带复选框列的datagridview的表单。如果我检查一个或多个复选框项目,然后更改窗体上的其他控件(datagridview之外),则复选框将变为未选中状态。任何帮助,将不胜感激。谢谢。Datagridview复选框丢失支票

更多细节:检查项目的底层绑定工作正常,因为正在存储值,并且在表单重新加载时检查的状态是正确的。这只是一个视觉问题。

此外,复选框值永远不会在代码中以编程方式设置为false。错误值仅来自绑定或手动取消选中。

+0

没有代码,这是不可能的。不知道你在做什么。 – DonBoitnott

+0

'这只是一个视觉问题.'可能不是。 – LarsTech

+0

无论谁低估了这个问题,请认识到我经过广泛的研究工作后,回答了我自己的问题,包括在许多网页上,以及通过审查和重新设计我自己的代码。如果你发现这个问题没用,那只是你的意见。如果您发现不清楚,请查看我的编辑并回答,如果您仍然持有此意见,请要求进行适当的/进一步的澄清。不要只是冷静下来。 – markysdad

回答

0

你可以在列上做一个“Invalidate()”来查看重绘是否改变了任何东西?没有代码,我们需要任意分解问题。

+0

答案通常在他们没有问号。这应该是一个评论。 – LarsTech

1

重新设计了绑定,现在它工作正常。以前是维护业务对象中的选择列表并根据选择检查复选框。现在在业务对象中维护一个“选定”属性并进行适当的绑定。

由于由复选框编辑(显然)生成的事件的性质所导致的问题表现出来。单击复选框时未绑定源更改事件(因为未绑定) - 仅在编辑完其他控件后发生。