Установка одного поля со списком на основе значения, выбранного в другом - PullRequest
1 голос
/ 11 августа 2011

ComboBox Проблемы возвращаются.

Мое приложение в Silverlight с кодом C # .Net (VS2010). У меня есть три комбинированных списка.

  1. Страна
  2. Государство
  3. Город.

Теперь мое требование заключается в том, что когда я выбираю страну из моего ComboBox (например, Индия), тогда все штаты в Индии должны быть заполнены в State ComboBox, а когда я выбираю какую-либо другую страну, эти страны должны быть заполнены. Для этого я создал моя база данных таким образом только с предоставлением UniqueID каждой стране.

Мои таблицы базы данных спроектированы таким образом

  1. CountryTable (CountryId, CountryName)
  2. StateTable (StateId, StateName, CountryId)

Так я спроектировал свою БД.

Я запрограммировал файл Service.svc.cs, чтобы заполнить свои комбинированные списки.

Код в Service.svc.cs

[OperationContract]
        public List<GetCountry> GetCountryRecord()
        {
            using (Entities context = new Entities())
            {
                return (from c in context.CountryMaster
                        select new GetCountry
                        {
                            Country = c.CountryName,
                        }).ToList<GetCountry>();
            }
        }

 public class GetCountry
        {
            public string Country { get; set; }
        }

Код конца сервиса.svc.cs.

Код в форме. Xaml.cs

var client = new ServiceReference1.AlumniServiceClient();
            client.GetCountryRecordCompleted += (s, ea) =>
                {
                   cboCountry.ItemsSource = ea.Result.Select(b => b.Country).ToList();;

                };
            client.GetCountryRecordAsync();

Вот как я заполняю мои поля со списком. Теперь я хочу, чтобы значения State менялись в зависимости от выбранной страны, и аналогичным образом значения комбинированного списка городов должны меняться в зависимости от выбранного штата.

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

Пожалуйста, укажите номер кода ...

1 Ответ

0 голосов
/ 11 августа 2011

Либо в событии SelectionChanged первого ComboBox, либо при вызове привязанного установщика сделать вызов базы данных для заполнения следующего ComboxBox в последовательности.

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

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