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 仅适用于 .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
于 2012-10-26T13:06:14.807 回答