我从数据库获取数据以填充我的组合框,所以假设我有这样的数据:
|Column ID | Column Name |
| 1 | Item1 |
| 2 | Item2 |
| 3 | Item3 |
所以现在我得到Column Name
并用它填充组合框但现在从其他一些功能我正在更改组合框选择的项目和我想要的是填充组合框以从数据库分配ID所以当我如果将组合框选定的项目更改为ID 3,则更改为项目3
答案 0 :(得分:0)
divizija.DisplayMember = "Column Name";
divizija.ValueMember = "Column Id";
List<Items> items = new List<Items>();
FbDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
items.Add(new Items { Id = (int)dr[0], Name = (string)dr[1]});
}
divizija.DataSource = items;
divizija.SelectedValue = divizijaDokumenta;
对于项目列表,我需要上课,这里是
public class Items
{
public int Id { get; set; }
public string Name { get; set; }
}
答案 1 :(得分:0)
您不需要类或从db数据创建List。 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);
橙色的值是5