我们可以使用 FindString 方法轻松获得组合框的索引
int index = cboCountryTwoCode.FindString(localJob.DeliveryCountryTwoCode.Trim());
cboCountryTwoCode.SelectedIndex = index;
所以我只需要知道有没有办法让组合框的索引只是按值而不是通过文本查找。请让我知道有没有类似的。如果没有任何东西那么如何实现我的目标,即获得组合框的索引只是通过值找到。感谢
cboCountryTwoCode.DataSource = Utility.LoadCountry();
cboCountryTwoCode.DisplayMember = "CData";
cboCountryTwoCode.ValueMember = "CValue";
LoadCountry()将返回数据表。感谢
答案 0 :(得分:1)
在WinForms中,ComboBox
没有明确的项目键/值列表。它有ObjectCollection
Items
。
我认为您可以在对象上实现ToString()
以显示其正确的描述。
然后你应该使用一些LINQ来找到正确的项目。像这样:
class MyType
{
public int Id { get; set; }
public string Description { get; set; }
public override string ToString()
{
return Description;
}
}
var selectedObject = cb.Items.Cast<MyType>().SingleOrDefault(i => i.Id.Equals(myId));