我有listbox1 -它的数据源是一个列(产品名)。
所以我在列表框中有一个MultiSelection选项。
我尝试为我选择的所有选项创建一个MessageBox,这是代码:
foreach (object selectedItem in listBox1.SelectedItems)
{
MessageBox.Show((selectedItem.ToString() + Environment.NewLine));
}问题是我得到的是这个值,而不是System.Data.DataRowView
发布于 2013-05-28 02:18:18
如何填充列表框(即数据源到底是什么)?
根据您的评论,我认为是一个DataView (并且包含DataRowView...)
因此,您只需将SelectedItem转换为DataRowView,以便从该DataRowView中获得值:
foreach (object selectedItem in listBox1.SelectedItems)
{
DataRowView dr = (DataRowView)selectedItem;
String result = dr["productname"].ToString;
MessageBox.Show(result + Environment.NewLine);
}可能对这篇文章感兴趣的VB.Net开发人员也可能对this感兴趣。
发布于 2013-05-28 02:14:52
试着用这个来改变
ListBoxItem lbi ;
String myStr ;
for (int i =0; i <= listbox1.selecteditems.count-1 ; i++)
{
lbi = (ListBoxItem)(listBox1.ItemContainerGenerator.ContainerFromIndex(i));
myStr += lbi + Environment.NewLine);
}
MessageBox.Show(myStr);https://stackoverflow.com/questions/16778180
复制相似问题