在 Visual Studio 中仅将组合框索引绑定到数据源



编辑:我会尝试更具体。

在 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/

最新更新