【发布时间】:2019-08-10 01:06:50
【问题描述】:
所以我想从数据库中添加具有值的ComboBox 项目。
我现在的代码是这样的:
//Make connection
MySqlConnection conn = new MySqlConnection(StrConnectionstring);
//SQL
MySqlCommand cmd = new MySqlCommand("SELECT Classname, ClassID FROM tblClasses", conn);
//Open connection
conn.Open();
MySqlDataReader DR = cmd.ExecuteReader();
while (DR.Read())
{
CmbClass.DisplayMember = "Text";
CmbClass.ValueMember = "Value";
CmbClass.Items.Add( new { Text = Convert.ToString(DR["Classname"]), Value = Convert.ToInt16(DR["ClassID"]) });
}
正确给出了类名,但是当我使用 cmbClass.SelectedValue 时,它没有给出任何值。
【问题讨论】:
-
DR["Classname"]来自哪里?不是您的查询。 -
使用
DataTable.DefaultView作为ComboBox.DataSource。或使用BindingSource(其中BindingSource.DataSource是DataTable 或List<class>)。