2013-02-21 20 views
16

以下のコードを使用してリストボックス内の選択項目の値を取得しようとしていますが、常にNULL文字列を返します。ここでリストボックスの選択項目の値を文字列として取得する

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

私は、データベースからデータセットをretriveする方法のsearchforPriceに文字列として選択した項目の値を渡すためにしようとしています。

選択した項目の値を文字列として取得するにはどうすればよいですか?

私はリストボックスにコンボボックスから項目を追加しています。コンボボックスから項目をデータベースから読み込みます。

listBox1.Items.Add(comboBox2.Text); 

enter image description here

誰もがこのために答えた..あなたが項目の表示テキストを取得したい場合は

+2

リストボックスをロードするコードを投稿してください。 –

答えて

56

は、GetItemTextメソッドを使用します。必要であれば

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

私は...滑らかにすることができます! +1の友人。 –

+0

まだnullを返す –

+0

@AmritSharma、 'SelectedItem'がnullでないことをチェックしましたか? –

-1

をリストボックスから選択した項目を取得するには、ここにコードがあります。

String SelectedItem = listBox1.SelectedItem.Value; 
+1

listBox1.SelectedItem.Value; //とListBox1.SelectedItemの.Value部分がIDEに表示されていないようです。任意のポインタ? – BKSpurgeon

5

、このコードを使用するアプリケーションでのListBoxを使用していて、リストボックスの選択された値を返し、ラベルまたは他の任意のもので、それを表示したい場合ならば、それはあなた

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

あなたが提案したコードを試してみました。出力されている文字列は次のとおりです:System.Windows.Controls.ListViewItem:AndThenTheActualString - 長いシステムを取り除く方法は?ウィンドウズ - 誰も見たくない? – BKSpurgeon

+1

@BKSpurgeon答えはListBoxで動作します。あなたのコードはListViewを使用していたので、そこには "System.Windows.Controls.ListViewItem"があります。 – Dialecticus

0

のに役立ちますあなたのデータがどこにあるか

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

GetItemText \t メソッドが利用できません...助けてください... iam開発中のWindows phoneアプリケーション –

1

àリストボックスで選択したすべての項目の値を盗んするにはDataRowViewで選択した項目をキャストすることができますし、その列を選択します:あなたは、これは試してみてください リストボックスから、あなたの値を取得したい

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

ファイル(フルパス)リスト(トーマス・レベスクの回答modificaton、感謝トーマス)のリストボックスにフルネームを取得する:あなたが選択したListItme名を取得するには、このいずれかを使用することができます

... 
     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)' –

+0

PC Ludditeの説明をお寄せいただきありがとうございます。 – Zael

0

::

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

あなたの各ListBoxItemは、Nameプロパティを持っていることを確認してください

関連する問題