【问题标题】:C# - How do I set the selected item in a combobox by comparing my int value?C# - 如何通过比较我的 int 值在组合框中设置所选项目?
【发布时间】:2018-06-28 13:59:15
【问题描述】:

我正在使用具有文本和值的项目的组合框。现在,我想通过将其值与提供的值进行比较来简单地选择一个项目。我正在遍历这些项目并进行如下比较。下面的代码可以正常工作,但是有没有更好或更简单的方法来做到这一点?我发现了一个可能重复的here,但它适用于字符串值而不是整数。

foreach (ComboboxItem item in this.CampaignList.Items)
{
    if (Convert.ToInt16(item.Value) == objAACampaign.CompanyId)
    {
        this.CampaignList.SelectedIndex = this.CampaignList.Items.IndexOf(item);
        break;
    }
}

【问题讨论】:

    标签: c# .net winforms combobox


    【解决方案1】:

    使用显示和值成员

    像这样创建自定义类:

    class MyCustomClass
    {
        //important to have get set part
        public _int { get; set; }
        public _string { get; set; }
    }
    

    现在加载您要在List<MyCustomClass>() 中显示的数据,然后将该列表绑定到组合框并设置它的显示和值成员,如下所示:

    myComboBox.DisplayMember = "_string";
    myComboBox.ValueMember = "_int";
    myComboBox.DataSource = myList; //this is List<MyCustomClass>
    

    现在只需使用myComboBox.SelectedValue = valueYouWant

    重要!!!

    由于性能原因,在将数据源绑定到组合框之前声明 displayMember 和 valueMember。在互联网上搜索更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-16
      相关资源
      最近更新 更多