2012-10-26 8 views
5

私のプロジェクトでは、コンボボックスの値は "getArticles"というメソッドに入っています。メソッドは次のとおりです。データテーブルで作成されたコンボボックスから選択したアイテムを取得するには

public void getArticles(ComboBox cb) 
{ 
    var getAll = getAllFromDB("articles", "", "articleName ASC"); 
    DataTable dt = getAll.Tables["articles"]; 
    cb.DataSource = dt; 
    cb.DisplayMember = "articleName"; 
    cb.ValueMember = "id"; 
} 

"getAllFromDB"メソッドは記事テーブルから選択を行い、DataSetを返します。今私の問題はここにあります。 cb.SelectedValueを使用すると、記事名のid値を取得できます。これは良いと良いです。しかし、私はcb.SelectedItemを使って "System.Data.DataRowView"を表示しています。
お手伝いできますか、cb.selectedItemのような記事名を取得するにはどうすればいいですか?
こんにちは。

+0

私は正しい方法ではないと思う 'cb.SelectedText'を使うことができます。ディスプレイのメンバーセットが適切ですか?このエラーが発生しない場合は、 – nawfal

+0

ハビブ、コンボボックスアイテムオブジェクトに "ArticleName"というプロパティがありますか? – nawfal

答えて

8

次のコードを試してみてください。選択した項目を取得するのに役立つかもしれません。

 ComboBoxItem requiredItem = (ComboBoxItem)cboType.SelectedItem; 
     string value = requiredItem.Content.ToString(); 

EDIT:上記ComboBoxItemが唯一の.NET Framework 4.5の場合で動作します

申し訳ありませんが、それはSystem.Windows.Controls名前空間にあります。あなたの答えは次のコード部分を参照してください。

 DataTable dtable = (DataTable)comboBox1.DataSource; 
     label1.Text = dtable.Rows[comboBox1.SelectedIndex][0].ToString();//gives you article id 
     label2.Text = dtable.Rows[comboBox1.SelectedIndex][1].ToString();//gives you article name 
+0

ComboboxItemとは何ですか?私の初心者の状態に申し訳ありません。 –

+0

そのクラスは、コンボボックスにあるアイテムを表します –

+0

いいですが、このクラスをどのように使用しますか? –

関連する問題