2012-06-20 157 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的方法並對列名進行硬編碼。但這也相對容易。