【发布时间】:2012-08-20 12:03:04
【问题描述】:
我们有一个 DataGridViewCheckBox 列绑定到我们类中的一个布尔属性。
属性设置器有一些逻辑,它表示在某些条件下不能更改 True 标志,即它永远保持检查状态。这是基于每条记录的。所以整列不能是只读的,只能是某些行。
伪代码:
Public Property Foo() As Boolean
Get
Return _Foo
End Get
Set(ByVal value As Boolean)
If _Foo And Bar And value = False Then
//do nothing, in this scenario once you're true, you stay true
Else
_Foo = value
End If
End Set
End Property
Databinding 可以很好地处理所有这些问题,只是在单击复选框时会明显清除该复选框。然后,当然,当绑定/设置器被触发时(当您离开该单元格时),它会根据底层逻辑恢复到其检查状态。最终它并不重要,但它是一个笨拙的用户界面。
我们如何拦截用户的点击并保持检查?
【问题讨论】:
标签: winforms data-binding datagridview checkbox