数据绑定到单选按钮(组)

时间:2015-06-23 23:40:43

标签: c# winforms entity-framework-6

我试图以某种方式将实体字段(?)绑定到单选按钮。

也许是一个例子:

我有一个带有两个单选按钮的组合框:Toss Won和Toss Lost。 我有一个名为TossWon的数据库字段。我想要发生的事情是,当Toss Won被检查时,TossWon应该是1(即真实)。当Toss Lost被检查时,TossWon应该是假的。

我该怎么做?我是否应该绑定到组合框的某些属性(不要这么认为),或者绑定到一个或两个单选按钮?

我知道我可以使用活动,但我想知道是否有更好的'方式。

3 个答案:

答案 0 :(得分:1)

避免事件的优雅解决方案是在数据库中添加计算字段TossLost= NOT(TossWon)

答案 1 :(得分:0)

数据绑定TossWon到两个单选按钮。

然后处理单选按钮的Binding.Parse / Binding.Format事件

// Displaying data, true if data is 1 else false
rdoTossWin.DataBindings[0].Parse += (sender, e) => e.Value = ((int)e.Value) == 1;
// Change the true to 1 and false to 0
rdoTossWin.DataBindings[0].Format += (sender, e) => e.Value = (bool)e.Value ? 1 : 0;

答案 2 :(得分:0)

正如HubertL所指出的,只有一个提交就足够了。 您应该将两个单选按钮放在一个组框中,以便在不编写任何代码的情况下检查另一个单选按钮是否取消选中另一个。您可以简单地将属性TossWon绑定到Checked的{​​{1}}属性:

rdTossWin