如何根据ValueMember在ComboBox中设置选定项?

6

我有一个下拉框,结构如下。同时,我从另一个源获取了一个fld_id,并且需要根据该id选择ComboBox中对应的项目。我该怎么做?

comboBoxCustomers.DataSource = customers;

comboBoxCustomers.ValueMember = "fld_id";

comboBoxCustomers.DisplayMember = "fld_name";

例子:

清单可以包含这些项目

fld_id   fld_name

65       Item1

68       Item2

69       Item3

我需要将第68项设置为选中状态。


你所说的“我正在从另一个来源获取fld_id,然后根据该id选择ComboBox中对应的项目”是什么意思?请发布更多代码以展示您如何获取fld_id?那是一个属性吗? - Sriram Sakthivel
当你执行 var selected = comboBoxCustomers.SelectedValue; 会发生什么? - Apostrofix
@Apostrofix 不!我需要将它设置为已选中。没有任何选中项。我正在构建下拉框。 - Alexandru Pupsa
1
尝试这个:comboBoxCustomers.SelectedValue = 68; - Pranav1688
好的,如果我理解你的意思正确的话,这个链接应该会对你有所帮助:https://dev59.com/BE3Sa4cB1Zd3GeqPy-KD - Apostrofix
显示剩余2条评论
4个回答

8

我没有足够的声望来发表评论。这个:

comboBoxCustomers.SelectedValue = fld_id

非常好,效果很棒 :) 但是需要在显示表格之后才能正常工作,否则会失败。


8

请使用以下内容:

comboBoxCustomers.SelectedValue = fld_id(which you are getitng from another source)

0

如果您使用组合框的数据源,可以将数据源转换回列表,查找项目并使用该项目设置所选项目:

var stores = cbxStores.DataSource as List<store>;
var store = stores.Where(w => w.store_code == _station.store_code).FirstOrDefault();
cbxStores.SelectedItem = store;

0

我发现的最简单的过程是:

您可以将其绑定到某些带有参数的函数中,而在调用函数时进行调用。

希望这能帮助到你们:

int Idd = Convert.ToInt32(your value for the combobox  you want to be selected);
for (int i = 0; i < myComboBox.Items.Count; i++)
{
    myComboBox.SelectedIndex = i;
    if (Convert.ToInt32( myComboBox.SelectedValue ) == Idd )
        {break;}                   
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接