代码之家  ›  专栏  ›  技术社区  ›  Fry

如何将数据字段值绑定到组合框索引?

  •  0
  • Fry  · 技术社区  · 14 年前

    这可能已经被问到了,但我似乎找不到这个具体的问题,所以这里是。。。

    一个字段(类)是枚举(0,1,2),其中只有值存储在数据库中,但对用户来说意义不大。我被要求让用户更清楚地看到这一点,所以我决定使用一个下拉式的组合框。因为数据库没有任何对值含义的引用,所以我决定使用DataBindings而不是DataSource,这样我就可以使用索引作为数据绑定,但是SelectedItem或Value似乎不是这样做的方法。

    我的目标是:
    数据库中存在1,所以在组合框中选择“B”。
    用户选择“C”并更新数据库,2现在存储在数据库中。

    2 回复  |  直到 14 年前
        1
  •  0
  •   Thomas Levesque    14 年前

    我想你有 BindingSource 在窗体上绑定到数据。你可以绑住绳子 SelectedIndex 财产 ComboBox 具体如下:

    comboBox.DataBindings.Add("SelectedIndex", bindingSource, "PropertyInTheDataSource");
    
        2
  •  0
  •   Kamyar    14 年前


    创建一个包含两个字段的新类(比如CustomItem):

    Public int Value{get;set;}  
    public string Title {get;set;}  
    

    然后在你的表格中:

    var item1 = new CustomItem() { Title = "A", Value = 10 };
            var item2 = new CustomItem() { Title = "B", Value = 20 };
            var item3 = new CustomItem() { Title = "C", Value = 30 };
            var lst = new List<CustomItem>();
            lst.Add(item1);
            lst.Add(item2);
            lst.Add(item3);
            comboBox1.DataSource = lst;
            comboBox1.DisplayMember = "Title";
            comboBox1.ValueMember = "Value";
    

    现在您有了一个数据绑定组合框,以防表单中没有BndingSource。