C# 如何在组合框C中获取数据
我有一个组合框,我这样填充它:C# 如何在组合框C中获取数据,c#,winforms,C#,Winforms,我有一个组合框,我这样填充它: DataTable dt = new DataTable(); using (SQLiteConnection conn = connection.Conn) { using (SQLiteCommand cmd = new SQLiteCommand(conn)) { cmd.CommandText = "select id, description from category";
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";
}
}
}
我试图获得的是在组合框中获取所选项目的数据,但当我试图使用MessageBox.showcombox1.SelectedItem.ToString显示它时;我得到的是System.Data.DataRowView类型。不是表类别中字段说明的实际值。请帮忙。。。谢谢。我想你需要
MessageBox.Show(comboBox1.SelectedItem.Value.ToString())
试试这个:
MessageBox.Show(comboBox1.SelectedValue);
一些解释:
MessageBox.Show(comboBox1.SelectedValue.ToString()); //get selected item value
MessageBox.Show(comboBox1.Text); //get selected item text
如果要查找屏幕值,请使用以下命令:
MessageBox.Show(combobox1.SelectedText);
任用
comboBox1.SelectedText
或
如果需要访问SelectedIndexChanged事件中的值,则可能需要使用第二种方法。请参见我认为ComboBox.Selected没有值属性。我认为,问题是您正在获取该项。项目上应该有一些属性为您提供值。抱歉-我没有访问环境的权限来检查ATM。这将显示查询选择id、类别描述中的id值。不是描述……对不起,没有正确阅读问题。通常情况下,该值就是您要查找的值。请尝试Patrick McDonald的方法:注意:如果DropDownStyle设置为DropDownList,则返回值为空字符串。
((System.Data.DataRowView)(comboBox1.SelectedItem))["description"]