Sujith Karivelil Ответов: 2

Получить список штатов выбранной страны.


У меня есть два поля со списком, одно для страны, а второе-для Штатов, второе должно загружаться на основе значения, выбранного в поле со списком стран. Я заполняю combobox страны следующим образом:

private void PopulateCountryComboBox()
{
     RegionInfo country = new RegionInfo(new CultureInfo("en-US", false).LCID);
     List<string> countryNames = new List<string>();
     foreach (CultureInfo cul in CultureInfo.GetCultures(CultureTypes.SpecificCultures))
     {
          country = new RegionInfo(new CultureInfo(cul.Name, false).LCID);
          countryNames.Add(country.DisplayName.ToString() );
     }
     IEnumerable<string> nameAdded = countryNames.OrderBy(names => names).Distinct();
     foreach (string item in nameAdded)  {CountryComboBox.Items.Add(item);}
}


Как я могу привязать список государств в выбранном секторе страны комбобокс?
Любые положительные отзывы будут оценены по достоинству.

Andy Lanng

Пробовали ли вы установить комбинацию стран для обратной передачи по событию SelectedIndexChange?
Это также можно сделать с помощью ajax-метода на стороне клиента.

Sujith Karivelil

до сих пор все работает нормально. откуда я выбираю список штатов для выбранной страны без использования базы данных? это моя проблема. не Регионинфо является полезным для получения списка государств

Maciej Los

Если вы имеете в виду, что хотите получить государство/провинцию/регион/воеводство и т. д., Нет, это вам не поможет Вам нужно создать базу данных.

2 Ответов

Рейтинг:
20

Andy Lanng

Я нашел этот ресурс Дамп базы данных географии[^] через поиск giyf. Там нет ничего встроенного .Сеть, которая может предоставить эту информацию. Информация о культуре далеко не исчерпывающая и определенно не будет включать в себя такие резолюции, как Штаты и округа.

PS-Я действительно видел dbs США и Великобритании на этом сайте - понятия не имею, работает ли он tho :S


Рейтинг:
1

Afzaal Ahmad Zeeshan

Вы можете справиться с SelectedIndexChanged[^] событие и внутри обработчика вы можете изменить значение второго ComboBox, например,

void comboBox_SelectedIndexChanged(object sender, EventArgs e) {
   // Handle the event here...
   // Sender = your ComboBox; cast it to ComboBox
   // Get the SelectedIndex and see which country is selected
   // Find the states for that country... And populate the second control
}


Таким образом, вы можете обработать изменение в первом поле со списком, и в зависимости от значения SelectedIndex вы можете затем найти Штаты для этой страны и записать их во втором поле со списком.