【发布时间】:2015-03-05 09:43:45
【问题描述】:
我无法创建类或我自己的对象,所以我想我会使用List<KeyValuePair> 来存储两个属性,然后将此对象绑定到组合框。
但是,我看不到如何在组合框中设置 valueField 和 TextField。
代码。
List<KeyValuePair<int, string>> kvpObject =
new List<KeyValuePair<int, string>>();
foreach (User u in m_users) {
kvpObject.Add(new KeyValuePair<int, string>(u.ID, u.Name));
}
// Bind Add Users combobox
cmboBox.DataSource = kvpObject;
cmboBox.ValueField = "????" // Maybe something like kvpObject[0]..
cmboBox.TextField = "????";
cmboBox.DataBind();
有谁知道我需要在???? 中输入什么。
【问题讨论】:
-
ValueField = "Key" TextField = "Value" ?
-
真的吗?哇...干杯
-
这取决于你想要达到的目标
-
所以基本上对于数据源中的每个项目,都有它的键(u.ID)和它的值(u.Name)
-
如果您希望 cmboBox.SelectedValue 成为 ID,请将其 ValueField 设置为 Key...您还应该考虑制作 Dictionary
而不是 List >
标签: c# winforms combobox keyvaluepair