【问题标题】:Combobox saves text to database instead of value组合框将文本保存到数据库而不是值
【发布时间】:2018-12-05 06:59:59
【问题描述】:

我使用的是 Visual Studio,所以此时我还没有编写任何代码,只是属性设置和 GUI 中的拖放操作。我有一个表格,其中有几个控件绑定到一个表格。为了在表单上填充ComboBox,我使用ComboBox 任务面板将选项绑定到具有两个字段(Type_Num 和Type_Desc)的视图。

在ComboBox 的属性框中,我将DisplayMember 设置为Type_Desc,将ValueMember 设置为Type_Num。当我运行表单时,下拉列表中有正确的值,但是当我选择一个并保存时,它会尝试将Type_Desc 保存在控件中,而不是Type_Num。我错过了什么?

【问题讨论】:

  • 您还应该展开(+DataBindings) 属性组并检查绑定了哪个属性。你应该绑定SelectedValue。看来您已将 dat 绑定设置为 Text 属性。
  • 另外,如果你的意思是它在组合框中显示Type_Desc,它会尝试保存Type_Desc*,这是预期的。它显示了显示构件。但如果它保存文本而不是值,请按照我在第一条评论中所说的内容。
  • 你第一个评论做到了,谢谢。如果您想将其作为答案提交,我会将其标记为已接受。

标签: c# .net winforms data-binding combobox


【解决方案1】:

当您设置数据绑定到Text 属性时会发生这种情况,而您需要保存选定的值。你应该绑定SelectedValue。

要在设计器中更改它,请展开(+DataBindings) 属性组并从文本属性中删除数据绑定,并将数据绑定设置为SelectedValue:

【讨论】:

    猜你喜欢
    • 2012-09-23
    • 1970-01-01
    • 1970-01-01
    • 2018-06-08
    • 1970-01-01
    • 1970-01-01
    • 2017-04-29
    • 2016-11-24
    • 2018-09-26
    相关资源
    最近更新 更多