Есть ли какой-нибудь способ заполнить комбинированный список в winforms всеми названиями стран и другой комбинированный список городами выбранной страны? - PullRequest
3 голосов
/ 01 марта 2009

Существует ли в C # процедура сборки для создания поля со списком или списка, в котором есть названия всех стран, и когда выбрана страна, другой список со списками заполняется городами этой страны?

Ответы [ 2 ]

5 голосов
/ 01 марта 2009

Конечно, есть процедура. Вы можете начать с простой структуры данных:

public class Country
{
  public string Name { get; set; }
  public IList<City> Cities { get; set; }

  public Country()
  {
    Cities = new List<City>();
  }
}

public class City { public string Name { get; set; } }

Затем создайте экземпляр этой структуры, например, в собственность вашей формы ...

Countries =
  new List<Country>
    {
      new Country
        {
          Name = "Germany",
          Cities =
            {
              new City {Name = "Berlin"},
              new City {Name = "Hamburg"}
            }
        },
      new Country
        {
          Name = "England",
          Cities =
            {
              new City {Name = "London"},
              new City {Name = "Birmingham"}
            }
        }
    };

В вашей форме создайте экземпляр двух обязательных источников (BS):

  • Первый БС связывается со странами имущество.
  • Вторая BS связывается с первой (DataSource = firstBS), а ее DataMember должен быть "Cities".

Теперь вам нужно два выпадающих списка:

  • 1-й: DataSource = первый BS, DisplayMember = "Имя"
  • 2-й: DataSource = второй BS, DisplayMember = "Name"

и ты должен быть почти готов.

0 голосов
/ 01 марта 2009

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

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