在我的项目中,组合框值出现在一个名为“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”方法正在从articles表中进行选择并返回DataSet。现在我的问题在这里。当我使用cb.SelectedValue
时,我可以获得文章名称的id值。这很好,很好。但是,当我使用cb.SelectedItem
时,它显示“System.Data.DataRowView”。
请你帮助我,我怎样才能获得使用cb.selectedItem
这样的文章名称?为亲切的问候。
答案 0 :(得分: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