我有一个组合框,显示我国不同的市(这些市属于特定的省)。由于存在同名的市镇,我将“municipality name”(数据库中“municipality”表中的表列)绑定到组合框的displayMember属性,将“municipality id”绑定到组合框的valueMember属性。
当用户保存他的详细信息时,我从市政的valuemember中提供selectedvalue并将其插入employee表。

cmd.Parameters.Add(new SqlParameter("@Municipality_ID", (object)comboBoxMunicipality.SelectedValue.ToString()));

当员工需要更新信息时,我发现检索数据很困难。我必须手动检查该员工的市政ID,并将其与组合框中绑定的数据进行比较,然后循环检查它,确定市政ID所在的索引,并设置组合框的selectedIndex属性。(与下面的代码片段相比,安静而冗长)
我有这个代码,但我发现有冲突,因为市政名称不是唯一的。
//set SelectedIndex based from DisplayMember of the comboBox
comboBoxMunicipality.SelectedIndex = comboBoxMunicipality.FindStringExact(dataTable.Rows[0]["MunicipalityName"].ToString());

是否有方法像上面的代码一样设置组合框的selectedIndex,但这次,将其与valueMember进行比较?
有捷径吗?
     //something like this?
comboBoxMunicipality.SelectedIndex =
    comboBoxMunicipality.FindByValue(dataTable.Rows[0]["Municipality_ID"].ToString());

我希望你们明白我的意思…请帮忙。谢谢。

最佳答案

这个怎么样?

comboBoxMunicipality.SelectedValue = theMunicipalityIDtoSelect

08-19 13:01