【发布时间】:2010-08-02 06:22:46
【问题描述】:
我有一个组合框,可以显示我们国家的不同市镇(这些市镇属于特定省)。由于有同名的市政当局,我将“MunicipalityName”(我数据库中“MUNICIPALITY”表中的一个表列)绑定到组合框的 DisplayMember 属性,并将“Municipality_ID”绑定到组合框的 ValueMember 属性。
当用户保存他的详细信息时,我从 MUNICIPALITY 的 ValueMember 提供 SelectedValue 并将其插入到 Employee 表中。
cmd.Parameters.Add(new SqlParameter("@Municipality_ID", (object)comboBoxMunicipality.SelectedValue.ToString()));
当员工需要更新他的信息时,我发现检索数据很困难。我必须手动检查该员工的 Municipality_ID 并将其与组合框中的绑定数据进行比较,然后遍历它,确定 Municipality_ID 所在的索引,并设置组合框的 SelectedIndex 属性。 (与下面的代码 sn-p 相比,安静冗长)
我有这个代码,但我发现了冲突,因为 Municipality_Name 不是唯一的。
//set SelectedIndex based from DisplayMember of the comboBox
comboBoxMunicipality.SelectedIndex = comboBoxMunicipality.FindStringExact(dataTable.Rows[0]["MunicipalityName"].ToString());
有没有办法像上面的代码一样设置comboBox的SelectedIndex,但这次是和ValueMember比较?
有捷径吗?
//something like this?
comboBoxMunicipality.SelectedIndex =
comboBoxMunicipality.FindByValue(dataTable.Rows[0]["Municipality_ID"].ToString());
我希望你们明白我的意思……请帮忙。谢谢。
【问题讨论】: