Jim*_*mbo 2 c# listbox selectedvalue multi-select .net-3.5
我正在努力从启用了多选并已绑定到数据库表的 Winforms 列表框中获取选定的值(请注意值而不是文本),获取名称(作为 DisplayMember)和 ID(作为 ValueMember) - 我需要所选项目的 ID。
列表框控件具有用于SelectedValue获取选定项值之一的属性,但不具有用于获取所有选定项值的属性。
该SelectedItems属性返回一个Listbox.SelectedObjectCollection我似乎无法从中提取项目值的值。
请帮忙!谢谢。
尝试将object集合中的每个内容转换为所需的type. 例如,如果我的物品属于 类型Customer,我可以这样做......
var selected = listBox1.SelectedItems;
foreach ( var item in selected )
{
var singleCustomer = (Customer)item;
}
Run Code Online (Sandbox Code Playgroud)
现在您可以从 中获得您想要的任何财产Customer。
这只是一个简单的例子,但我相信您可以将这个概念应用于您的问题。
更新(更新问题以指示列表框绑定到表后):
如果你绑定到 a DataTable,你可以尝试这样的事情(同样,微不足道但相关):
var selected = listBox1.SelectedItems;
foreach ( var item in selected )
{
var itemArray = ( (DataRowView)item ).Row.ItemArray;
var name = itemArray[0];
var id = itemArray[1];
}
Run Code Online (Sandbox Code Playgroud)