编辑:我会尝试更具体。
在 Visual Studio 中,可以轻松地将组合框的项和值绑定到数据库中的 2 列。
Index | Name
...................
0 | Apples
1 | Oranges
2 | Pears
- 但是,如果在"属性"窗口中的"项"下手动输入名称。
并且仅将组合框的索引保存到数据库中。
Index ......... 0 1 2
所以问题是,在使用"属性"窗口中输入的项作为显示项时,如何仅将组合框的索引绑定到数据库?
- 一周后,甚至赏金,这个问题没有得到回答。
- 这是使用组合框最常见和最基本的方法。
-
似乎只能通过编写一些自定义代码来做到这一点:
private void MyForm_Load(object sender, EventArgs e) { Dictionary<int, string> myDic = new Dictionary<int, string>(); myDic.Add(0, "Zero"); myDic.Add(1, "One"); myDic.Add(2, "Two"); comboBox1.DataSource = new BindingSource(myDic, null); comboBox1.DisplayMember = "Value"; comboBox1.ValueMember = "Key"; comboBox1.DataBindings.Add("SelectedValue", bindingSource1, "Numbers"); }
- 只有 comboBox 的索引(或 SelectedValue(绑定到数据库。
- 最后一行代码也可以在"属性"窗口(在"数据绑定"下(中完成。
- 不能在"属性"窗口中添加项目文本。
- 只能将文本和值作为键/值对字典条目一起添加。(或者可以为条目创建一个类(。
- 感谢那些试图回答这个问题的人。
- 希望这能为某人节省一些时间。
如果您想显示更改的值,我认为这是以下问题的重复
如何在 C# 中的组合框显示成员中追加两个字段值
根据值是来自数据库还是固定数组,您只需相应地设置这些字段。
如果您需要更好地了解如何使用数据源,您还应该查看下面的文章
http://www.c-sharpcorner.com/UploadFile/0f68f2/programmatically-binding-datasource-to-combobox-in-multiple/