我正在使用带有文本和值的项目的 ComboBox。现在,我只想通过将其值与提供的值进行比较来选择一个项目。我正在遍历项目并进行如下比较。下面的代码工作正常,但有没有更好或更简单的方法来做到这一点?我在这里发现了一个可能的重复项,但它适用于字符串值而不是整数。
foreach (ComboboxItem item in this.CampaignList.Items)
{
if (Convert.ToInt16(item.Value) == objAACampaign.CompanyId)
{
this.CampaignList.SelectedIndex = this.CampaignList.Items.IndexOf(item);
break;
}
}
使用显示和值成员
像这样创建自定义类:
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。在互联网上搜索更多信息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句