c# - 如何迭代列表框选定的项目并获取 ValueMember 和 Display Member

标签 c# listbox selecteditem listboxitems

您好,我正在尝试迭代 winforms 中列表框的选定项目,如下所示:

foreach (ListBox item in sknBox.SelectedItems)            
{              
    Console.WriteLine(item.ValueMember);
    Console.WriteLine(item.DisplayMember);     
}

但我收到以下错误:

Unable to cast object of type 'System.Data.DataRowView' to type 'System.Windows.Forms.ListBox'.

有办法解决这个问题吗?或者另一个直接的解决方案?

最佳答案

从错误消息中可以清楚地看出,.SelectedItemsSystem.Data.DataRowView的集合,因此您可以通过Row访问所需的值 与索引器如下所示:

foreach (var item in sknBox.SelectedItems)            
{              
    Console.WriteLine(((DataRowView)item).Row["Value-member-name-here"].ToString());
    Console.WriteLine(((DataRowView)item).Row["Display-member-name-here"].ToString());     
}

关于c# - 如何迭代列表框选定的项目并获取 ValueMember 和 Display Member,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43753195/

相关文章:

c# - String.Contains() 比在字符串中遍历整个 char 数组快吗?

wpf - 在 ListboxItem 上添加自定义混合行为

c# - 如何将数据从本地PC发送到Google-app-engine应用程序?

c# - 单元测试中的特殊本地字符在任何地方都不相同

c# - 网格和列表框有一些我无法摆脱的边框

Jquery 使用值选择选项

android - 如何在 Android 中单击的 GridView 项目上设置可绘制的背景?

C# 数据 GridView : get selected item in combobox columns

c# - 如何禁用 Newtonsoft JSON 序列化程序中的对象引用创建?

html - 在部署的应用程序中使用 HTML 呈现彩色列表框文本