【问题标题】:How can I set the selected index of a comboBox base from its valueMember? (C# Window Form)如何从其 valueMember 设置组合框基础的选定索引? (C#窗口窗体)
【发布时间】: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());

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

【问题讨论】:

    标签: c# winforms


    【解决方案1】:

    这个怎么样?

    comboBoxMunicipality.SelectedValue = theMunicipalityIDtoSelect
    

    【讨论】:

    • 多么简单,哈哈,谢谢您,先生……我只是一个编程新手。再次感谢:)
    • 没问题,Yonan - 享受简单,先生!
    猜你喜欢
    • 2014-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多