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

4.6.5. Добавление элементов отображения данных

В этом разделе мы добавим на форму несколько элементов управления-ListBox для отображения списка издательств и DataGrid для отображения наименований книг выбранного издательства. Также добавим элементы Label для описания элементов формы.

Отображение издательств в элементе ListBox

Элемент ListBox будет отображать названия издательств (содержание таблицы publishers). Этот элемент позволяет отобразить несколько записей (список издательств).

Вернемся к нашей форме (с именем по умолчанию Form3), которая была открыта при создании проекта. Если вы еще находитесь в окне XML Designer, то переключитесь на вкладку дизайнера формы (выбрав соответствующую позицию табуляции в верхней части текущего окна).

1. Из вкладки Windows Forms окна Toolbox, перетащите на форму элемент ListBox.

  1. Нажмите клавишу <F4> для перехода в окно Properties.

  2. В свойстве DataSource Выберите набор данных dsPublishersTitles1.

  3. В свойстве DisplayMember активизируйте раскрывающийся список. Из списка выберите таблицу publishers, разверните узел publishers и затем выберите поле, содержащее наименование издательства — pub_name.

  4. Когда эта процедура будет закончена, свойству DisplayMember будет присвоено значение — publishers.pubname (рис. 4.41).

Рис. 4.41 Связывание элемента ListBox с полем таблицы набора данных

Таким образом вы связали элемент ListBox с полем наименования издательства pub_name таблицы издательств publishers.

  1. Теперь добавим на форму элемент 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