use*_*422 2 c# combobox winforms keyvaluepair
我无法创建一个类或我自己的对象,所以我想我会使用a 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();
Run Code Online (Sandbox Code Playgroud)
有谁知道我需要把它放进去????.
Ari*_*ion 11
我想你应该是:
cmboBox.ValueField = "Key";
cmboBox.TextField = "Value";
Run Code Online (Sandbox Code Playgroud)
因为您正在使用KeyValuePair.属性是Key和Value
更新:
我也有一个建议.而不是使用for循环.然后,您可以使用Linq将其绑定到组合框的数据源.像这样的东西:
cmboBox.DataSource = m_users
.Select (s =>new KeyValuePair<int,string>(s.ID,s.Name))
.ToList();
cmboBox.ValueField = "Key";
cmboBox.TextField = "Value";
cmboBox.DataBind();
Run Code Online (Sandbox Code Playgroud)
记得包括 System.Linq;
| 归档时间: |
|
| 查看次数: |
8392 次 |
| 最近记录: |