C # 2 ComboBox DropDownList показывает те же значения - PullRequest
1 голос
/ 11 марта 2010

В моем коде у меня есть 2 ComboBox DropDownLists, созданные с помощью кода ниже. Проблема в том, что когда значение DropDownlist изменяется, другое значение также изменяется. Не могли бы вы помочь мне, как я могу решить эту проблему?

public class Translate
{
    public string CountryName { get; set; }
    public string CountryCode { get; set; }
}

IList<Translate> languages = new List<Translate>();
languages.Add(new Translate("Select", ""));
languages.Add(new Translate("English", "en"));
languages.Add(new Translate("French", "fr"));
languages.Add(new Translate("Spain", "es"));

ddlFrom.DataSource = languages;
ddlFrom.DisplayMember = "CountryName";
ddlFrom.ValueMember = "CountryCode";

ddlTo.DataSource = languages;
ddlTo.DisplayMember = "CountryName";
ddlTo.ValueMember = "CountryCode"; 

Ответы [ 2 ]

3 голосов
/ 11 марта 2010

Это потому, что вы указываете оба раскрывающихся списка на один и тот же источник данных. Вам нужно сделать вторую копию языков, чтобы перейти на ddlTo.DataSource.

2 голосов
/ 11 марта 2010

Когда вы используете IList в качестве источника данных, вы неявно синхронизируете доступ к списку, включая понятие «выбранного» элемента. Вы должны быть в состоянии просто использовать:

        ddlFrom.Items.Clear();
        ddlTo.Items.Clear();
        foreach (var language in languages)
        {
            ddlFrom.Items.Add(language);
            ddlTo.Items.Add(language);
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...