2013-02-21 87 views
16

我想使用下面的代碼獲取列表框中選定項目的值,但它總是返回空字符串。獲取列表框中選定項目的值爲字符串

DataSet ds = searchforPrice(Convert.ToString(listBox1.SelectedItem)); 

這裏我試圖將所選項目的值作爲字符串傳遞給方法searchforPrice以從數據庫中檢索數據集。

我如何檢索選定項目的值作爲字符串?

我正在從組合框中添加項目到列表框,反過來從數據庫加載項目。

listBox1.Items.Add(comboBox2.Text); 

enter image description here

有人已經回答了這個..

+2

請發佈加載列表框的代碼。 – 2013-02-21 13:11:50

回答

56

如果你想檢索項的顯示文本,使用GetItemText方法:如果你想

string text = listBox1.GetItemText(listBox1.SelectedItem); 
+2

我可以...順利! +1朋友。 – 2013-02-21 13:14:38

+0

仍然返回null – 2013-02-21 13:44:42

+0

@AmritSharma,你檢查「SelectedItem」不是null嗎? – 2013-02-21 14:18:52

-1

檢索從列表框中選擇的項目,這裏是代碼...

String SelectedItem = listBox1.SelectedItem.Value; 
+1

listBox1.SelectedItem.Value; // listBox1.SelectedItem處的.Value部分似乎沒有出現在我的IDE中。任何指針? – BKSpurgeon 2015-07-30 00:32:28

5

如果你正在使用你的應用程序列表框,並要返回列表框的選擇值和標籤或其他任何東西顯示出來,然後使用此代碼,它會幫助你

private void listBox1_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     label1.Text = listBox1.SelectedItem.ToString(); 
    } 
+0

已經嘗試了你建議的代碼,它輸出的字符串是:System.Windows.Controls.ListViewItem:AndThenTheActualString - 如何擺脫漫長的system.windows - 哪個人不想看? – BKSpurgeon 2015-07-30 00:30:26

+1

@BKSpurgeon答案適用於ListBox。你的代碼使用ListView,這就是爲什麼在那裏有「System.Windows.Controls.ListViewItem」。 – Dialecticus 2017-02-21 15:55:53

0

如果您想從一個列表框檢索你的價值 你應該試試這個:

String itemSelected = numberListBox.GetItemText(numberListBox.SelectedItem); 
+0

GetItemText \t 方法不可用...請幫助... iam開發windows phone應用程序 – 2015-07-28 07:41:20

1

中檢索ListBox中的所有選定項的值,你可以在DataRowView的投選中項,然後選擇列數據所在的位置:

foreach(object element in listbox.SelectedItems) { 
    DataRowView row = (DataRowView)element; 
    MessageBox.Show(row[0]); 
} 
0

在文件列表框中的(完整路徑)列表獲取全名(托馬斯Levesque的答案modificaton,感謝托馬斯):

... 
     string tmpStr = ""; 
     foreach (var item in listBoxFiles.SelectedItems) 
     { 
      tmpStr += listBoxFiles.GetItemText(item) + "\n"; 
     } 
     MessageBox.Show(tmpStr); 
... 
1
string textValue = ((ListBoxItem)listBox1.SelectedItem).Content.ToString(); 
+1

這樣使用'as'不是一個好主意。它看起來更乾淨,但格式不正確。 'as'用於檢查某個對象是否屬於某種類型。你正在使用錯誤的工具來完成這項工作。最好把它正確地轉換成'((ListBoxItem)listBox1.SelectedItem)' – 2016-02-11 11:44:20

+0

感謝PC Luddite的解釋,應該糾正它。 – Zael 2016-04-02 09:25:04

0

您可以使用這一個獲取所選ListItme姓名::

String selectedItem = ((ListBoxItem)ListBox.SelectedItem).Name.ToString(); 

確保您的每一個ListBoxItem有Name屬性

相關問題