Как установить выбранный элемент в выпадающем списке, сравнивая мое значение int? - PullRequest
0 голосов
/ 28 июня 2018

Я использую ComboBox с элементами, имеющими текст и значение. Теперь я хочу просто сделать элемент выбранным, сравнивая его значение с предоставленным значением. Я перебираю пункты и сравниваю как следует. Ниже код работает нормально, но есть ли лучший или более простой способ сделать это? Я нашел возможный дубликат здесь , но он работает со строковым значением, а не целым числом.

foreach (ComboboxItem item in this.CampaignList.Items)
{
    if (Convert.ToInt16(item.Value) == objAACampaign.CompanyId)
    {
        this.CampaignList.SelectedIndex = this.CampaignList.Items.IndexOf(item);
        break;
    }
}

1 Ответ

0 голосов
/ 28 июня 2018

Использовать дисплей и значение memeber

Создайте пользовательский класс следующим образом:

class MyCustomClass
{
    //important to have get set part
    public _int { get; set; }
    public _string { get; set; }
}

теперь загружайте данные, которые вы хотите отобразить, внутри List<MyCustomClass>(), а затем связывайте этот список со списком и устанавливайте его элемент отображения и значения следующим образом:

myComboBox.DisplayMember = "_string";
myComboBox.ValueMember = "_int";
myComboBox.DataSource = myList; //this is List<MyCustomClass>

Теперь просто используйте myComboBox.SelectedValue = valueYouWant

ВАЖНО !!!

Объявите displayMember и valueMember перед привязкой источника данных к комбинированному списку из-за производительности. Поиск в Интернете для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...