【问题标题】:Simple way to bind radiobuttons to SQL table in C#在 C# 中将单选按钮绑定到 SQL 表的简单方法
【发布时间】:2009-07-09 13:21:16
【问题描述】:

我正在尝试将 SQL 表绑定到 Windows 窗体应用程序中的单选按钮。

按钮按组框分组。我还没有找到将它们正确绑定到数据源的方法。我知道有些人已经设法通过创建自定义控件来做到这一点,但有没有更简单的方法?

【问题讨论】:

  • 你想将单选按钮绑定到什么?每个分组框的表中有多个布尔列?
  • 您想使用哪种数据库访问技术? ADO.NET? LINQ到SQL?实体框架?
  • 按钮的值是与表中的枚举或 1 列相关联,还是在一系列列中支持答案?
  • 按钮对绑定到 MySQL 表中的列,根据值 1 或 0 启用或禁用。
  • 启用或禁用调用复选框而不是两个单选按钮。

标签: c# winforms data-binding


【解决方案1】:

编辑:这可能是一种更清洁的方法(未经测试,但应该可以)。

您实际上应该直接(使用Binding)绑定到单选按钮,但要处理Binding.ParseBinding.Format 事件。

在 'Format' 事件中,设置 Checked 属性,然后在 Parse 事件中,您将根据选中的值将值保存回来。


原意:不创建自定义控件或子类化,最简单的方法可能不是直接绑定,而是自己作为中介加载和保存值。

一种方法是:

  • 订阅 BindingSource.CurrentItemChanged 事件并相应地设置单选按钮Checked 属性。

  • 订阅RadioButton.CheckedChanged 事件并适当设置底层数据源。

【讨论】:

  • 这是一个比我更好的解决方案!当然,你必须记住这些事件的名称,但它很优雅 +1
  • 听起来不错。谢谢! - 我会给出 +1,但我还没有凭据 ;)
  • 听起来更好!非常感谢。
  • 不,我愿意。 :) 所以你去+1。再次感谢。
  • 是的。在我了解它之后,它做到了。 :) 非常感谢。
【解决方案2】:

我使用了一个肮脏的把戏:

创建一个隐藏的文本框。将其绑定到数据源,并且不绑定单选按钮。然后编写文本框更改事件来设置单选按钮值和单选按钮单击事件来设置文本机器人值。

很脏,但它可以工作。

【讨论】:

    猜你喜欢
    • 2010-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-01
    • 2011-10-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多