C#按ID选择组合框

时间:2017-01-17 14:24:49

标签: c# combobox devexpress

我有这个班级

   class ComboboxValue
    {
        public int Id { get; private set; }
        public string Name { get; private set; }

        public ComboboxValue(int id, string name)
        {
            Id = id;
            Name = name;
        }

        public override string ToString()
        {
            return Name;
        }

    }

我设置了这样的条目:

 var list = Funktionen.LoadCustomers();
        foreach (var item in list)
        {
            MyCombo.Properties.Items.Add(new ComboboxValue(item.ID, item.Name));
        }

在另一个功能中,我将通过customerID在我的组合框中设置一个项目。 我怎样才能做到这一点? 顺便说一句。我正在使用Devexpress。

谢谢。

4 个答案:

答案 0 :(得分:1)

要以编程方式为组合选择值,请设置ComboBoxEdit.EditValue属性。以下是一些示例代码:

ComboBoxEdit.EditValue = 2;  // select an item which ID = 2

除了Selected索引,您还可以使用SelectedItem属性选择编辑器项目列表中的任何项目。您需要将基础数据对象分配给SelectedItem属性。

或者,您可以将其EditValue设置为' 25'这是所需项目的ValueMember属性值,如上例所示。

参考这些:
Select Item in ComboBoxEdit
how set combobox selected value

答案 1 :(得分:0)

var item = MyCombo.Properties.Items.FirstOrDefault(i => i.ID == yoursearchIDhere);

项目将是您想要获得的组合框项目。如果你找不到,请告诉我并解释清楚 LoadCustomers()也应返回List。

答案 2 :(得分:0)

尝试 MyCombo.SelectedItem = MyCombo.Items.SingleOrDefault(x => (x as ComboboxValue).Id == externalID)

答案 3 :(得分:0)

要在ComboboxValue类中选择项目:

comboBox1.SelectedItem = comboBox1.Items.Cast<ComboboxValue>()
    .Where(i => i.Name == dataGridView1.CurrentRow.Cells[5].Value.ToString()).Single();