【问题标题】:Bind a combobox - dealing with foreign keys绑定组合框 - 处理外键
【发布时间】:2012-11-13 09:57:59
【问题描述】:

在我的数据库中,我有一个表 Cars,其中包含(除其他外)一个作为外键的 idCategory 列。该外键引用包含类别描述的类别表中的 idCategory。

现在在我的 C# 应用程序中,我得到了一个用于添加新车的表单。有一个组合框可以选择类别。

comboboxCat.DataSource = datatable1;
comboboxCat.DisplayMember = "categoryDescription";
comboboxCat.ValueMember = "idCategory";

所以我将ComboBox的DataSource设置为包含Category表数据的DataTable,并将id设置为valueMember,Description设置为DisplayMember。

我还有一个包含表 Cars 的数据集。 我要做的是在 Combobox 的值更改时自动更新 DataSet 中的 Car 数据。我不知道如何绑定它。在 datagridview 中这很容易,因为我只需要设置 DataGridViewComboBoxColumn 的 DataPropertyName。但是在普通的 ComboBox 中没有这样的属性。提前致谢

【问题讨论】:

  • 您想从 Combobox 更新数据集还是反之亦然?在表单加载时,您可以在组合框上显示数据,当组合框索引更改时,您可以更新数据集,这对您有用吗?
  • 我想将 Combobox 选择的值与 Dataset 绑定,所以如果我更改 Combobox 值,它会反映 DataSet 中的更改,反之亦然
  • 然后你可以调用你的连接字符串,打开数据库,将数据集绑定到 FORM_LOAD 的 ComboBox。接下来在 ComboBox.SelectedIndexChanged 事件中,您可以使用 ComboBox 中更改的值将 INSERT 字符串设置为表。 Check this out please 还阅读了有关组合框 2 路数据绑定报告的一些问题。

标签: c# combobox


【解决方案1】:

我相信您必须将 Cars DataTable 中的 IdCategory 字段绑定到 ComboBox 的 SelectedValue。

【讨论】:

  • 我只是不明白你为什么不接受我的回答...你也可以在设计器上做DataBinding,不需要监听任何事件。
【解决方案2】:

终于找到了我要找的东西:http://blogs.msdn.com/b/bethmassi/archive/2007/04/25/tips-on-related-data-binding-and-comboboxes.aspx

我的答案是使用 DataBindings 来制作链接

【讨论】:

  • 很高兴您找到可以参考的文章。到目前为止,我们所说的都是基于 DataBinding :) 最后你会注意到这篇文章本身使用了 Form_Load() 和 SelectedIndexChanged() 事件;) 祝你好运!
猜你喜欢
  • 2012-08-20
  • 2017-11-12
  • 2013-12-28
  • 1970-01-01
  • 1970-01-01
  • 2018-09-20
  • 2011-01-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多