我正在从数据库获取数据来填充我的组合框,所以可以说我有这样的数据:
|Column ID | Column Name |
| 1 | Item1 |
| 2 | Item2 |
| 3 | Item3 |
所以现在我正在获取列名称
并用它填充组合框,但现在从其他一些功能我正在更改组合框选定的项目,我想要的是在填充组合框时分配ID数据库,因此当我说将组合框所选项目更改为 ID 3 时,它会更改为项目 3
最佳答案
您不需要类或从数据库数据创建列表。 DataTable
就可以正常工作:
string sql = "SELECT Id, Descr FROM ccolor";
using (MySqlConnection dbcon = new MySqlConnection(MySQLConnStr))
using (MySqlCommand cmd = new MySqlCommand(sql, dbcon))
{
DataTable dt = new DataTable();
dbcon.Open();
// fill the datatable
dt.Load(cmd.ExecuteReader());
// set up cbo
cboColor.DisplayMember = "Descr";
cboColor.ValueMember = "Id";
cboColor.DataSource = dt;
}
它甚至不需要是一个持久表。然后,响应 SelectedValueChanged
事件:
Console.WriteLine("The value of {0} is {1}", cboColor.Text, cboColor.SelectedValue);
The value of orange is 5
关于c# - 组合框按 ID 选择项目但显示名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41173203/