2012-06-20 129 views
2

我需要从与数据库绑定的列表框中选择的项目中获取值。但是,如果我尝试从数据库馈送列表框中获取SelectedItems列表框

listBoxAtribute.SelectedItems[0].ToString() 

返回System.Data.DataRowView

有没有办法把数据从DataRowView转换为string

我的想法是这样的:

for(int i = 0; i < listBoxAtribute.SelectedItems.Count; i++) 
{ 
    MessageBox.Show(listBoxAtribute.SelectedItems[i].Tostring); 
} 

非常感谢任何答复。

回答

0

尝试铸造列表框的选择项DataRowItem第一和接入列的值传递列名索引

这里是样品

((DataRowView)Listbox.SelectedItem)["<column_name>"].ToString(); 
0

如果你想一展拳脚的列值,然后拿拳头项目listBoxAtribute.SelectedItem作为

for(int i = 0; i < listBoxAtribute.SelectedItems.Count; i++) 
{ 
    MessageBox.Show(listBoxAtribute.SelectedItems[i].Item[0]); 
} 
0
string[] items = listBoxAtribute.SelectedItems.Select(x => x.Item[0]);  
0

下assumptio n,你可以看到,也就是说,来自所述数据库驱动条目的单个特定列,这将表明你具有列表框设置的DisplayMember属性。可能还有ValueMember,假设你在任何地方使用EditValue。我会写这些东西。

((DataRowView)listBoxAtribute.SelectedItems[0])[listBoxAtribute.DisplayMember].ToString(); 

这样你就可以准确得到用户在屏幕上看到的内容。现在,如果您需要的数据不同于屏幕上显示的数据,则需要使用user968441的方法并对列名进行硬编码。但这也相对容易。