Пошаговое руководство. Отображение связанных данных на форме в приложении Windows
Во многих сценариях приложений возникает необходимость в использовании данных, поступающих сразу из нескольких таблиц, причем довольно часто – из таблиц, связанных между собой.То есть требуется работать со связью родитель–потомок.Например, может потребоваться создать форму, где при выборе записи клиента отображаются заказы этого клиента.Отображение связанных записей на форме достигается путем установки свойства DataSource дочерних элементов BindingSource на значение родительского элемента BindingSource (а не на дочернюю таблицу!), и свойства DataMember дочернего BindingSource на значение отношения данных, связывающего родительские и дочерние таблицы.
В этом пошаговом руководстве демонстрируется выполнение следующих задач.
Создание проекта Приложения Windows.
Создание и настройка набора данных в приложении, основанного на таблицах Customers и Orders в базе данных Northwind, с помощью мастер настройки источника данных.
Добавление элементов управления для отображения данных из таблицы Customers.
Добавление элементов управления для отображения таблицы Orders на основе выбранной таблицы Customer.
Тестирование приложения путем выбора различных клиентов и проверки верности отображаемых заказов для выбранного клиента.
Обязательные компоненты
Для выполнения этого пошагового руководства потребуется следующее.
- Доступ к примеру базы данных "Борей".Для информации об установке учебной базы данных см. Практическое руководство. Установка образцов баз данных.
Создание проекта
Первым шагом является создание Приложения Windows.
Чтобы создать проект Приложения Windows:
В меню Файл создайте новый проект.
Назовите проект RelatedDataWalkthrough.
Выберите Приложение Windows и нажмите кнопку OK.Дополнительные сведения см. в разделе Разработка клиентских приложений.
Проект RelatedDataWalkthrough будет создан и добавлен в Обозреватель решений.
Создание источника данных
На этом шаге создается набор данных на основе таблиц Customers и Orders учебной базы данных Northwind.
Создание источника данных
В меню Данные выберите пункт Показать источники данных.
Чтобы запустить Мастер настройки источника данных, выберите элемент Добавить новый источник данных в окне Источники данных.
На странице Выбор типа источника данных выберите элемент База данных и нажмите Далее.
На странице Выбор подключения базы данных выполните одно из следующих действий:
Если подключение к учебной базе данных Northwind доступно в раскрывающемся списке, то выберите его.
-или-
Выберите Новое подключение для открытия диалогового окна Добавить/изменить подключение.Дополнительные сведения см. в разделе Диалоговое окно "Добавить/Изменить подключение" (вкладка "Общие").
Если базе данных требуется пароль, выберите параметр для включения конфиденциальных данных и щелкните Далее.
Щелкните Далее на странице Сохранение подключения в файле конфигурации приложения.
Разверните узел Таблицы на странице Выбор объектов базы данных.
Выберите таблицы Customers и Orders и нажмите Готово.
Набор данных NorthwindDataSet будет добавлен к проекту, и таблица Customers появится в окне Источники данных.
Создание элементов управления для отображения данных из таблицы Customers
Чтобы создать элементы управления для отображения данных клиентов (родительские записи):
Выберите таблицу Customers в окне Источники данных и щелкните стрелку раскрывающегося списка.
Выберите Сведения в меню.
Перетащите главный узел Customers из окна Источники данных на Form1.
Элементы управления с привязкой к данным с подписями описания появятся на форме вместе с панелью инструментов (BindingNavigator) для управления записями.NorthwindDataSet, CustomersTableAdapter, BindingSource и BindingNavigator появляются в области компонента.
Создание элементов управления для отображения данных из таблицы Orders
Чтобы создать элементы управления для отображения заказов для каждого клиента (дочерних записей):
В окне Источники данных разверните узел Customers, выберите последний столбец в таблице Customers (это разворачиваемый узел Orders) и перетащите его на нижнюю часть Form1.
DataGridView добавляется на форму, и новые BindingSource (OrdersBindingSource) и адаптер таблицы (OrdersTableAdapter) добавляются в область компонентов.
Примечание Откройте окно свойств и выберите OrdersBindingSource.Изучите свойства DataSource и DataMember, чтобы увидеть настройку привязки для отображения связанных записей.Свойство DataSource устанавливается в значение CustomersBindingSource (BindingSource родительской таблицы), а не на таблицу Orders.Свойство DataMember устанавливается в значение FK_Orders_Customers – имя объекта DataRelation , связывающего таблицы.
Тестирование приложения
Тестирование приложения
Нажмите клавишу F5 для запуска приложения.
Выбирайте различных клиентов с помощью CustomersBindingNavigator для проверки корректности отображения заказов на DataGridView.
Следующие действия
В зависимости от требований приложения существуют несколько шагов, которые, возможно, потребуется выполнить после создания формы с отображением вида "главный-подчиненный".Одно возможное улучшение, которое можно реализовать в данном пошаговом руководстве:
- Фильтрация записей Customers путем добавления параметризации к таблице Customers.Чтобы сделать это, выберите любой элемент управления, который отображает данные из таблицы Customers, щелкните на смарт-тег и выберите Добавить запрос.Выполните Диалоговое окно "Построитель условий поиска".Дополнительные сведения см. в разделе Практическое руководство. Добавление параметризованного запроса в приложение Windows Forms.
См. также
Задачи
Практическое руководство. Отображение связанных данные в приложении Windows Forms
Ссылки
Общие сведения о компоненте BindingSource
Общие сведения об элементе управления BindingNavigator (Windows Forms)
Основные понятия
Новые возможности разработки приложений для работы с данными в Visual Studio 2012
Привязка элементов управления Windows Forms к данным в Visual Studio
Общие сведения об источниках данных
Общие сведения об адаптере таблиц