如何在comboBox C#中获取数据

时间:2011-07-18 12:57:33

标签: c# winforms

我有一个组合框,我用这种方式填充它:

DataTable dt = new DataTable();

using (SQLiteConnection conn = connection.Conn)
{               
    using (SQLiteCommand cmd = new SQLiteCommand(conn))
    {
        cmd.CommandText = "select id, description from category";
        conn.Open();

        using (SQLiteDataAdapter da = new SQLiteDataAdapter(cmd))
        {
            da.Fill(dtChargeCodes);
            comboBox1.DataSource = dt;
            comboBox1.DisplayMember = "description";
            comboBox1.ValueMember = "id";
        }                                       
    }               
}

我想要实现的是获取comboBox中所选项目的数据,但是当我尝试使用MessageBox.Show(comboBox1.SelectedItem.ToString());显示它时,我得到的是类型System.Data.DataRowView.而不是实际值表类别中的字段描述。请帮忙......谢谢。

5 个答案:

答案 0 :(得分:5)

试试这个:

MessageBox.Show(comboBox1.SelectedValue);

答案 1 :(得分:5)

使用

comboBox1.SelectedText

((System.Data.DataRowView)(comboBox1.SelectedItem))["description"]

如果您需要访问SelectedIndexChanged事件中的值,则可能需要使用第二种方法(请参阅here

答案 2 :(得分:2)

我认为你需要

MessageBox.Show(comboBox1.SelectedItem.Value.ToString())

答案 3 :(得分:2)

如果您正在寻找屏幕值,请使用:

MessageBox.Show(combobox1.SelectedText);

答案 4 :(得分:1)

一些解释:

MessageBox.Show(comboBox1.SelectedValue.ToString()); //get selected item value
MessageBox.Show(comboBox1.Text); //get selected item text