Практическое руководство. Создание таблицы подстановок с помощью компонента BindingSource в формах Windows Forms

Обновлен: Ноябрь 2007

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

Ниже приведет пример родительской и дочерней таблицы.

CustomersTable (родительская таблица)

CustomerID

CustomerName

712

Иван Петров

713

Александр Викторов

OrdersTable (дочерняя таблица)

OrderID

OrderDate

CustomerID

903

12 февраля 2004 г.

712

904

13 февраля 2004 г.

713

В этом сценарии одна таблица, CustomersTable, содержит фактические сведения, которые нужно отображать и сохранять. Однако для экономии места из таблицы исключены данные, которые облегчают ее понимание. Другая таблица, OrdersTable, включает только данные, связанные с представлением, а именно о том, какой код CustomerID соответствует дате заказа и коду OrderID. Также в ней содержатся имена клиентов.

Четыре важных свойства указываются в элементе управления Элемент управления ComboBox (Windows Forms) для создания таблицы подстановки.

  • Свойство DataSource содержит имя таблицы.

  • Свойство DisplayMember содержит столбец данных той таблицы, который необходимо отобразить в элементе управления (имя клиента).

  • Свойство ValueMember содержит столбец данных таблицы с сохраняемыми данными (идентификатор в родительской таблице).

  • Свойство SelectedValue предоставляет значение подстановки для дочерней таблицы на базе ValueMember.

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

Чтобы создать пользовательский интерфейс

  1. Из панели элементов перетащите на форму элемент управления ComboBox.

    Он будет будет отображать столбец родительской таблицы.

  2. Перетащите другие элементы управления для отображения данных дочерней таблицы. Выбор элементов управления обуславливается форматом данных в таблице. Дополнительные сведения см. в разделе Функциональная классификация элементов управления Windows Forms.

  3. Перетащите в форму элемент управления BindingNavigator; это обеспечит перемещение по данным в дочерней таблице.

Подключение к данным и их привязка к элементам управления

  1. Выберите ComboBox и щелкните значок смарт-задач для отображения диалогового окна смарт-задач.

  2. Выберите Использовать элементы, связанные с данными.

  3. Щелкните стрелку рядом с раскрывающимся списком Источник данных. Если источник данных был ранее настроен для проекта или формы, он будет отображен, в противном случае выполните следующие действия (в этом примере используются таблицы "Клиенты" и "Заказы" из образца базы данных "Борей", на них даются отсылки в скобках).

    1. Щелкните Добавить источник данных проекта для подключения к данным и создания источника данных.

    2. На первой странице мастера настройки источников данных нажмите кнопку далее.

    3. На странице Выберите тип источника данных выберите База данных.

    4. А странице Выберите подключение к данным выберите подключение в списке доступных подключений. Если нужное подключения к базе данных недоступно, выберите Новое подключение для создания нового подключения к базе данных. Дополнительные сведения см. в разделе Диалоговое окно "Добавить/Изменить подключение" (вкладка "Общие").

    5. Щелкните Да, сохранить подключение для сохранения строки подключения в файле конфигурации приложения.

    6. Выберите объекты базы данных для использования в приложении. В данном случае выберите родительскую и дочерние таблицы (например, таблицы "Клиенты" и "Заказы") со связью с внешним ключом.

    7. При необходимости замените имя набора данных по умолчанию.

    8. Нажмите кнопку Готово.

  4. В раскрывающемся списке Отображать элемент выберите имя столбца (например, ContactName) для отображения в раскрывающемся списке.

  5. В раскрывающемся списке Значение элемента выберите имя столбца (например, ContactName) для подстановки в дочерней таблице.

  6. В раскрывающемся списке Выбранное значение перейдите к Источники данных проекта и выберите только что созданный набор данных, содержащий родительскую и дочернюю таблицы. Выберите такое же свойство дочерней таблицы, в котором содержится элемент значения для родительской таблицы (например, Orders.CustomerID). Соответствующий набор данных BindingSource , и компоненты адаптера таблицы будут созданы и добавлены в форму.

  7. Свяжите элемент управления BindingNavigator с BindingSource дочерней таблицы (например, OrdersBindingSource).

  8. Свяжите элементы управления, отличные от ComboBox и BindingNavigator, с полями данных BindingSource дочерней таблицы (например, OrdersBindingSource), которые нужно отображать.

См. также

Ссылки

BindingSource

Другие ресурсы

Компонент BindingSource

Элемент управления ComboBox (Windows Forms)

Отображение данных на форме в приложениях Windows