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か?
敬具。

4

1 に答える 1

7

次の行コードを試してください。選択したアイテムを取得するのに役立つ場合があります。

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

編集:

申し訳ありませんが、上記のComboBoxItemは、名前空間にある.NetFramework4.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
于 2012-10-26T13:06:14.807 に答える