VB.NET привязка данных из 2 таблиц - PullRequest
1 голос
/ 06 января 2012

У меня следующая структура

|-Table 1
|--PK IDT1
|--Name field
|-Table 2
|--PK ID
|--FK IDT1
|--Name field

Я хочу связать Таблицу 1 с combobox1, а Таблицу 2 с combobox2, чтобы, когда кто-то выбирает значение в combobox1, combobox2 заполняется только строками со значением FK IDT1 из combobox1. Возможно ли это с привязкой данных или мне нужно ее кодировать?

1 Ответ

0 голосов
/ 06 января 2012

в FORM_LOAD вашего приложения просто заполните только ComboBox1.этот псевдокод может помочь вам:

ON FORM_LOAD вашего приложения:

      Bind ComboBox1
      SET DISPLAY MEMBER Property of BomboBox1 to field
      SET VALUE MEMBER Property of ComboBox1 to IDT1
      Clear ComboBox1 current Text

На SelectionChangeCommitted вашего ComboBox1

      Bind ComboBox2 using the following Query:
           SELECT ID, field FROM Table2 WHERE IDT1 = ComboBox1.SelectedValue.ToString
      SET DISPLAY MEMBER Property of ComboBox2 to field
      SET VALUE MEMBER Property of ComboBox2 to IDT

Событие SelectedIndexChanged имеет значение , повышенное каждый раз, когда изменяется значение свойства SelectedIndex.Если ваш ComboBox изначально пуст, то его SelectedIndex равен -1.Когда вы привязываете к нему данные, первый элемент выбирается по умолчанию, и SelectedIndex изменяется на 0. Затем вы явно устанавливаете SelectedIndex на -1 снова.

Если вас интересует только то, когда пользователь делаетзатем выбор обрабатывает событие SelectionChangeCommitted .

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