如何在comboBox C#中获取数据

yon*_*236 5 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";
        }                                       
    }               
}
Run Code Online (Sandbox Code Playgroud)

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

Pat*_*ald 6

要么使用

comboBox1.SelectedText
Run Code Online (Sandbox Code Playgroud)

要么

((System.Data.DataRowView)(comboBox1.SelectedItem))["description"]
Run Code Online (Sandbox Code Playgroud)

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


Jas*_*own 5

试试这个:

MessageBox.Show(comboBox1.SelectedValue);
Run Code Online (Sandbox Code Playgroud)