Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПИС ИМОП 2.doc
Скачиваний:
4
Добавлен:
23.08.2019
Размер:
6.07 Mб
Скачать

4.6.6. Заполнение набора данных

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

Для заполнения набора данных необходимо выполнить следующие действия.

  1. Дважды щелкните мышью на форме, чтобы создать обработчик события загрузки формы Load.

  2. В обработчике события загрузки формы очистите набор данных, который вы создали ранее (dsPublishersTitles1), и затем вызовите метод Fill для двух адаптеров данных, указав им в качестве параметра этот же набор данных. В результате этого будут заполнены данными обе таблицы (publishers и titles).

Ниже приведен соответствующий программный код (листинг 4.15).

Листинг 4.15

' Visual Basic

Private Sub Forml_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

DsPublishersTitles1.Clear()

OleDbDataAdapterl.Fill(DsPubiishersTitles1)

OleDbDataAdapter2.Fill(DsPublishersTitles1)

End Sub

// C#

private void Form3_Load(object sender, System.EventArgs e)

{

dsPublishersTitles1.Clear();

oleDbDataAdapter1.Fill(dsPublishersTitles1);

oleDbDataAdapter2.Fill(dsPublishersTitles1);

}

4.6.7. Тестирование приложения

Теперь можно проверить работу форму, чтобы удостовериться в корректности ее работы. Для проверки работы приложения выполните следующие шаги.

  1. Нажмите клавишу <F5> для запуска приложения.

  2. Когда форма будет отображена:

  • проверьте, что в элементе управление ListBox отображаются наименования издательств;

  • выбирая различные издательства, убедитесь, что в сетке данных отображаются книги только выбранных издательств (рис. 4.45).

Рис. 4.45. Отображение результатов работы приложения

Итак, в примере этого раздела были решены две задачи: создан набор данных с двумя таблицами и отношениями между ними и создана Windows-форма, которая отобразила связанные данные. Можно несколько усовершенствовать этот пример:

  • изменить настройки и дизайн элемента DataGrid для улучшения его внешнего вида;

  • создать реляционные отношения динамически, в программном коде (в примере реляционные отношения создавались на этапе разработки приложения в XML Designer).

4.7. Представление связанных таблиц в элементе управления DataGrid

В предыдущем примере мы рассмотрели возможность работы со связанными таблицами базы данных с представлением их в различных визуальных элементах управления. Однако эту задачу можно решить с использованием единственного элемента управления, причем уровень иерархии связанных таблиц особой роли не играет. В Visual Studio для этих целей можно использовать элемент управления DataGrid, который имеет встроенный механизм отображения информации из таблиц, имеющих реляционные связи. В примере этого раздела мы рассмотрим три связанные между собой таблицы: Заказчики, Заказы и Детали заказа. Для выполнения этого примера воспользуемся базой данных Northwind, которая поставляется вместе с SQL Server, и где есть соответствующие таблицы: Customers, Orders и Order Details.

Модель набора данных в Visual Studio позволяет работать не только с отдельными таблицами в вашем приложении, но и определять отношения между ними. Тогда можно использовать эти отношения, чтобы перемешаться между связанными записями.

Пример предполагает выполнение следующих этапов:

  • создание Windows-формы;

  • создание соединения с базой данных;

  • создание и конфигурирование адаптеров данных, которые обеспечивают взаимодействие с тремя таблицами базы данных;

  • добавление элемента управления DataGrid и кнопки (для загрузки и отображения данных);

  • формирование программного кода, обеспечивающего заполнение набора данных, формирования реляционных связей и связывание набора данных с DataGrid;

  • тестирование работы приложения.