我想在winforms组合框中列出fims。因此,我尝试将组合框设置为id
类似值,并确定name
项目名称。我从mysql
数据库获取公司列表。
SELECT id, name FROM firms
所以我的代码就在这里:
private void FirmSelect_Load(object sender, EventArgs e)
{
Firm firm = new Firm(); //db model
DataTable data = firm.ListAlllFirm();
FirmComboBox.DataSource = data;
FirmComboBox.DisplayMember = "name";
}
这项工作很好,但我想将公司ID设为项目价值!我是否需要将DataTable
与foreach
进行交互并手动设置?我怎么能这样做?
或其他任何方式;
答案 0 :(得分:2)
您不希望循环通过集合来设置ItemValue,
您可以使用
ComboBox
的{{3}}属性, 这将允许您获取或设置要使用的属性的路径 作为ListControl中项目的实际值。
可以使用以下代码完成此操作:
FirmComboBox.DisplayMember = "name";
FirmComboBox.ValueMember = "id";
FirmComboBox.DataSource = Data;
这样您就可以使用FirmComboBox.SelectedValue