如何从valueMember中设置comboBox基础的选定索引?(C#窗口形式)

yon*_*236 5 c# winforms

我有一个组合框,显示我们国家的不同市镇(这些市政当局属于特定省份).由于市政府名称相同,我将"MunicipalityName"(我的数据库中"MUNICIPALITY"表中的表格列)绑定到comboBox的DisplayMember属性,将"Municipality_ID"绑定到comboBox的ValueMember属性.

当用户保存他的详细信息时,我从MUNICIPALITY的ValueMember提供SelectedValue并将其插入Employee表.

cmd.Parameters.Add(new SqlParameter("@Municipality_ID", (object)comboBoxMunicipality.SelectedValue.ToString()));
Run Code Online (Sandbox Code Playgroud)

当员工需要更新他的信息时,我发现很难找到数据.我必须手动检查该员工的Municipality_ID并将其与comboBox中的绑定数据进行比较,然后遍历它,确定Municipality_ID所在的索引,并设置comboBox的SelectedIndex属性.(与下面的代码片段相比,安静冗长)

我有这个代码,但我发现冲突,因为Municipality_Name不是唯一的.

//set SelectedIndex based from DisplayMember of the comboBox    
comboBoxMunicipality.SelectedIndex = comboBoxMunicipality.FindStringExact(dataTable.Rows[0]["MunicipalityName"].ToString());
Run Code Online (Sandbox Code Playgroud)

有没有办法像上面的代码一样设置comboBox的SelectedIndex,但这一次,将它与ValueMember相比较?

有捷径吗?

     //something like this?
comboBoxMunicipality.SelectedIndex = 
    comboBoxMunicipality.FindByValue(dataTable.Rows[0]["Municipality_ID"].ToString());
Run Code Online (Sandbox Code Playgroud)

我希望你能得到我的观点...请帮助.谢谢.

Wil*_*l A 6

这个怎么样?

comboBoxMunicipality.SelectedValue = theMunicipalityIDtoSelect
Run Code Online (Sandbox Code Playgroud)