- •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.6.5. Добавление элементов отображения данных
В этом разделе мы добавим на форму несколько элементов управления-ListBox для отображения списка издательств и DataGrid для отображения наименований книг выбранного издательства. Также добавим элементы Label для описания элементов формы.
Отображение издательств в элементе ListBox
Элемент ListBox будет отображать названия издательств (содержание таблицы publishers). Этот элемент позволяет отобразить несколько записей (список издательств).
Вернемся к нашей форме (с именем по умолчанию Form3), которая была открыта при создании проекта. Если вы еще находитесь в окне XML Designer, то переключитесь на вкладку дизайнера формы (выбрав соответствующую позицию табуляции в верхней части текущего окна).
1. Из вкладки Windows Forms окна Toolbox, перетащите на форму элемент ListBox.
Нажмите клавишу <F4> для перехода в окно Properties.
В свойстве DataSource Выберите набор данных dsPublishersTitles1.
В свойстве DisplayMember активизируйте раскрывающийся список. Из списка выберите таблицу publishers, разверните узел publishers и затем выберите поле, содержащее наименование издательства — pub_name.
Когда эта процедура будет закончена, свойству DisplayMember будет присвоено значение — publishers.pubname (рис. 4.41).
Рис. 4.41 Связывание элемента ListBox с полем таблицы набора данных
Таким образом вы связали элемент ListBox с полем наименования издательства pub_name таблицы издательств publishers.
Теперь добавим на форму элемент label1 и свойству Text этого элемента присвоим значение Наименование издательства (рис. 4.42).
Рис. 4.42. Расположение на форме элементов отображения данных
Отображение наименований книг в элементе DataGrid
Каждое издательство может иметь список изданных книг. Каждая книга имеет несколько атрибутов: наименование, автора, год издания и пр. Чтобы отобразить информацию о книгах нужно использовать элемент управления, который может отображать не только несколько записей, но и несколько столбцов. Для этих целей подходит элемент управления DataGrid. Для этого примера мы сконфигурируем DataGrid таким образом, чтобы он показывал только наименования книг, изданных выбранным издательством. Свяжем DataGrid He с таблицей titles, а c объектом publishers_titles, созданным ранее, который устанавливает реляционные отношения между таблицами publishers и titles. Объект publishers_titles представляет собой свойство таблицы publishers. Во время работы приложения каждый раз, когда пользователь будет перемещаться к новому издательству (выбирая его в списке), будет срабатывать соответствующий метод объекта связи данных. При этом из дочерней таблицы будут отбираться только те записи, которые относятся к выбранной записи родительской таблицы. Для добавления и связывания с данными объекта DataGrid выполните следующие действия.
1. Из вкладки Windows Forms окна Toolbox, перетащите на форму элемент
DataGrid.
2. В свойстве DataSource выберите набор данных dsPublishersTitles1 в качестве источника данных.
3. Задайте свойству DataMember значение publishers.publishers_titles.
Наберите это значение с помощью клавиатуры или выберите из выпадающего списка (рис. 4.43).
Рис. 4.43. Связывание элемента DataGrid с объектом реляционных отношений
Установка этих двух свойств связывает элемент DataGrid с объектом реляционных отношений между таблицами. При этом в сетке данных будут всегда отображаться дочерние записи с информацией о книгах издательства, установленного в родительской таблице.
4. Измените размеры сетки данных так, чтобы можно было видеть несколько строк и столбцов (рис. 4.44).
Рис. 4.44. Расположение на форме элемента DataGrid
