2013-04-15 50 views
2

我正在Visual Studio 2010中創建一個Windows窗體應用程序。我有一個Access數據庫,其中有一個表'ResearcherInfo'。Windows窗體listbox.selecteditem顯示「System.Data.DataRowView」而不是實際值

在我的Windows窗體中,我有一個列表框,其中填充了該表的列名「Researcher Name」的內容。

然而,當我試圖讓該文本框的選擇項,它只返回我空值或有時System.Data.DataRowView取決於我如何訪問它

我已經試過

string name = projectmembers_lst.SelectedItem.ToString(); 

在調試時,我將鼠標懸停在「projectmembers_lst」字,它正確地顯示我projectmembers_lst = {的SelectedItem =「傑羅姆」}

但懸停在字符串「名」,它顯示「NAME =」系統.Data.DataRowView「」

我甚至試圖複製到一個數組

foreach (Object selecteditem in projectmembers_lst.SelectedItems) 
    { 

     object[] objCollection = new object[projectmembers_lst.SelectedItems.Count]; 

     projectmembers_lst.SelectedItems.CopyTo(objCollection, 0); 

     MessageBox.Show(objCollection[0] as string); 
    } 

沒有讓我選擇的項目。我不確定這裏有什麼問題。

填充列表框:

1)我已經添加的訪問表 'ResearcherInfo'。作爲Web表單應用程序的數據源。

2)在列表框的屬性中,在數據源選項卡下,我鏈接了此表並將列表框的顯示成員和值成員屬性作爲表名的列名「研究員名稱」。

所以基本上我的Listbox顯示研究員信息表中的研究員名稱。附上是一個快照。 enter image description here

+0

可能是你需要.SelectedValue?你能告訴我們你是如何填充列表框? –

+0

我已經編輯我的迴應最初的問題。 –

+0

謝謝。它的工作原理如下: –

回答

0

沒有看到你如何填充它,這很難猜測。

嘗試((objCollection [0] DataViewRow)[0]作爲字符串

+0

Brilliant。這個工作((作爲DataRowView的objCollection [0])作爲字符串)非常感謝。 –

相關問題