c# - 如何从其 valueMember 设置组合框基的选定索引? (C# 窗口窗体)

标签 c# winforms

我有一个组合框,显示我国不同的市(这些市属于特定省)。由于存在具有相同名称的市政当局,我将“MunicipalityName”(我数据库中“MUNICIPALITY”表中的表列)绑定(bind)到组合框的 DisplayMember 属性,并将“Municipality_ID”绑定(bind)到组合框的 ValueMember 属性。

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

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

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

我有这段代码,但我发现有冲突,因为 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());

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

最佳答案

这个怎么样?

comboBoxMunicipality.SelectedValue = theMunicipalityIDtoSelect

关于c# - 如何从其 valueMember 设置组合框基的选定索引? (C# 窗口窗体),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3385471/

相关文章:

c# - 如何将 Windows 窗体元素发送到 wpf 应用程序的后面?

c# - 图像路径在 CDN 中有效,但在 .css 中无效

c# - 如何将新的用户控件添加到工具箱或新的 Winform?

c# - WinForms 中的 WPF 装饰器

c# - 创建窗口句柄时出错

c# - LINQ 组一种类型的项目

javascript - DropDownList Change() 似乎没有触发

c# - 使用 FluentMigrator 添加代码和状态值的最佳实践?

c# - 使用代码切换到 TabControl 中的选项卡

c# - 监听串口。如何将字符串添加到列表框?