我正在使用带有文本和值的项目的组合框。现在,我想简单地通过将其值与提供的值进行比较来选择一个项目。我正在遍历这些项目并进行如下比较。下面的代码工作正常,但是有更好或更简单的方法吗?我发现可能重复的here,但是它适用于字符串值而不是整数。
foreach (ComboboxItem item in this.CampaignList.Items)
{
if (Convert.ToInt16(item.Value) == objAACampaign.CompanyId)
{
this.CampaignList.SelectedIndex = this.CampaignList.Items.IndexOf(item);
break;
}
}
答案 0 :(得分:4)
使用显示和价值成员
创建这样的自定义类:
TestStatic
现在加载要显示在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>
重要!!!
由于性能,在将数据源绑定到组合框之前声明displayMember和valueMember。在互联网上搜索更多信息。