- •4.6. Работа со связанными таблицами в Windows-формах 42
- •4.7. Представление связанных таблиц в элементе управления DataGrid 54
- •4.7.1. Создание Windows-формы 54
- •4. Построение Windows-приложений с доступом к данным через adо.Net
- •4.1. Создание Windows-приложения
- •4.2. Windows-форма как основа интерфейса
- •4.3. Доступ к данным в Windows-формах с использованием элемента управления DataGrid
- •4.3.1. Создание проекта и формы
- •4.3.2. Создание набора данных DataSet
- •Создание и конфигурирование элементов доступа к данным Connection и DataAdapter
- •Создание объекта DataSet
- •4.3.3. Добавление элемента управления DataGrid для отображения данных
- •4.3.4. Заполнение элемента управления DataGrid данными
- •4.3.5. Обновление информации в базе данных
- •4.4. Доступ к данным в Windows-формах с использованием текстовых полей
- •4.4.1. Связывание элементов TextBox с набором данных
- •4.4.2. Отображение номера текущей записи
- •4.5. Выборка и сортировка данных через запросы с параметрами
- •4.5.1. Создание Windows-формы
- •4.5.2. Создание и конфигурирование объектов DataConnection и DataAdapter
- •4.5.3. Создание набора данных
- •4.5.4. Добавление элементов отображения данных
- •4.5.5. Добавление кода для заполнения набора данных
- •4.5.6. Связывание текстовых полей с набором данных
- •4.5.7. Добавление навигации по записям
- •4.5.8. Отображение номера текущей записи
- •4.5.9. Тестирование работы приложения
- •4.6. Работа со связанными таблицами в Windows-формах
- •4.6.1. Создание и Windows-формы
- •4.6.2. Конфигурирование DataConnection и Data Adapter
- •4.6.3. Создание набора данных Dataset
- •4.6.4. Создание реляционных связей между таблицами набора данных
- •4.6.5. Добавление элементов отображения данных
- •Отображение издательств в элементе ListBox
- •Отображение наименований книг в элементе DataGrid
- •4.6.6. Заполнение набора данных
- •4.6.7. Тестирование приложения
- •4.7. Представление связанных таблиц в элементе управления DataGrid
- •4.7.1. Создание Windows-формы
- •4.7.2. Конфигурирование объектов DataConnection и DataAdapter
- •4.7.3. Добавление элементов управления
- •4.7.4. Заполнение набора данных и создание реляционных связей
- •4.7.5. Тестирование приложения
4.7.5. Тестирование приложения
Теперь можно выполнить тестирование приложения, чтобы удостовериться в корректности ее работы и возможности отображения в DataGrid содержимого связанных таблиц.
Для проверки работы приложения выполните следующие действия.
Нажмите клавишу <F5> для запуска приложения.
Когда форма будет отображена на экране, вы увидите пустой элемент DataGrid. Нажмите кнопку Загрузить, после этого элемент управления DataGrid заполнится записями из таблицы Customers, содержащей сведения о заказчиках (рис. 4.48).
Рис. 4.48. Отображение в DataGrid родительской таблицы Customers
Наименования колонок объекта DataGrid получат значения от наименований соответствующих полей базы данных. В первой колонке будет располагаться указатель текущей записи и знак (+), позволяющий получить доступ к записям дочерних таблиц. Щелкните мышью на значке (+) в любой строке, в DataGrid появится дополнительная строка с ссылкой на содержимое дочерней таблицы (в нашем случае появиться ссылка с надписью Заказы (рис. 4.49).
Рис. 4.49. Отображение в DataGrid ссылки на дочернюю таблицу с информацией о заказах
Как видно из рис. 4.49, мы получили возможность просмотреть все заказы клиента с именем ANTON. Нажмите на ссылку Заказы, после этого запись с информацией о заказчике ANTON будет перенесена в верхнюю часть DataGrid, а в самом элементе управления появятся записи из дочерней таблицы Orders (рис. 4.50). В нашем случае будут отображены сведения о заказах, сделанных заказчиком anton.
Рис. 4.50. Отображение в DataGrid информации из родительской таблицы Customers и дочерней таблицы Orders
В левой крайней колонке снова будет виден значок с надписью (+), нажав на него, мы увидим еще одну строку со ссылкой Детали заказа (рис. 4.51).
Рис. 4.51. Отображение в DataGrid ссылки на дочернюю таблицу с информацией о деталях заказа
То есть теперь, нажав на ссылку Детали заказа мы сможем получить содержимое любого заказа. При этом в верхней части DataGrid появится еще одна строка с указанием номера отображенного заказа (рис. 4.52).
Рис. 4.52. Отображение в DataGridинформации из родительских таблиц Customer, Ordersи дочерней таблицы Orders Details
Знак (+) в левой колонке исчез — это говорит о том, что у данной таблицы нет дочерних таблиц, и она в иерархии реляционных связей является последней.
Справа и слева верхней части DataGrid появились две кнопки, которые позволяют просмотреть колонки родительских таблиц, не поместившиеся на экран. В правом верхнем углу имеется стрелка, нажав на которую можно закрыть дочернюю таблицу и подняться на один уровень вверх (вернуть на экран содержимое родительской таблицы). Кроме того, данный DataGrid позволяет выполнить сортировку любой таблицы на любом уровне иерархии по любой колонке. Для этого достаточно щелкнуть мышью на заголовке колонки. После этого в заголовке колонки появится небольшая стрелка, указывающая порядок сортировки (по возрастанию или убыванию). При повторном щелчке на той же колонке порядок сортировки меняется на обратный.
Этот пример достаточно убедительно демонстрирует преимущество Visual Studio .NET. Нам удалось реализовать возможность отобразить в одном визуальном элементе три взаимосвязанные таблицы с возможностью их сортировки по любому признаку. При этом было написано всего 10 строк программного кода.
