字典作为组合框的数据源
本文关键字:数据源 组合 字典 | 更新日期: 2023-09-27 18:34:55
类似于上一个问题,但对于 .NET 4.5,当我尝试时,接受的答案不起作用。
我正在尝试从字典中填充组合框。没有编译器错误,但我得到一个 ArgumentException:"复杂数据绑定接受 IList 或 IListSource 作为数据源"。这让我觉得我绑定的方式,ComboBox 只会让我填写一个或另一个,因为列表只是一个维度。
简化代码:
Dictionary<string,string> orgs = await api.CreateOrgMap();
organizationListComboBox.DataSource = orgs;
我可以使用带有字段键和值的对象列表,但是当字典应该工作并最终得到一个奖励对象时,这似乎很愚蠢。我做错了什么/这不再可能了吗?
我不确定它有什么不同,但我正在使用WinForms。
我认为您可能没有遵循参考主题中的示例?
organization.ListComboBox.DataSource = orgs;
应该是:
organization.ListComboBox.DataSource = new BindingSource(orgs, null);
我在 VB.NET 中一直使用List。字典应该以相同的方式工作。
cmbox.DataSource = GetStores(); //this function is returning a list
cmbox.DisplayMember = "Joined"; //this is a property for an item in the list
cmbox.ValueMember = "ID"; //this is another property for an item in the list
已加入 = 键ID = 值 - 反之亦然希望 C# 翻译正确,并希望它有所帮助。
循环遍历字典以制作列表也可能更容易 IE 删除键,然后将列表放入组合框中。 由于您没有使用组合框的键。