
- •Лабораторная работа № 3
- •Теоретические сведения
- •Порядок выполнения
- •Часть 1 – Создание соединения с сервером бд, размещение компонентов доступа к данным (набора данных), компонентов источников данных
- •Часть 2 – Создание формы приложения бд, размещение и настройка компонентов управления данными
- •Часть 3 – Создание статических столбцов в компоненте dbGrid, подстановочных полей в подчиненной таблице, полей с фиксированным списком данных
- •Часть 4 – Организация поиска, упорядочивание данных в таблицах
- •Часть 5 – Создание расчетных полей в сетках, связанных с наборами данных
- •Отчет должен содержать:
Часть 3 – Создание статических столбцов в компоненте dbGrid, подстановочных полей в подчиненной таблице, полей с фиксированным списком данных
Создать статические столбцы для полей сеток DBGrid на форме приложения.
ЗАМЕЧАНИЕ: Сетка отображает все данные, имеющиеся в наборе данных.
По умолчанию для каждого поля набора данных, связанного с компонентом DBGrid, автоматически создается отдельный столбец, и все столбцы в сетке доступны. Такие столбцы называются динамическими. Для создания статических столбцов используется специальный Редактор столбцов. Достоинствами статических столбцов является то, что для их объектов можно установить значения свойств, отличные от свойств соответствующего поля и не зависящие от него. Например, если для некоторого статического столбца установить свое имя, то оно не будет меняться даже в случае, если с этим столбцом связывается другое поле набора данных (т.е. создание подстановки для внешних полей).
Первоначально список статических столбцов пуст, т.е. все столбцы являются динамическими. Редактор столбцов позволяет: создать статический столбец, удалить, изменить порядок следования столбцов.
Для создания списка статических столбцов следует выполнить для компонента SimpleDataSet следующие действия:
Выключить на модуле данных активность компонента SimpleDataSet, связанного с соответствующей таблицей (например – компонент SimpleFilials);
Щелкнуть на значке компонента два раза, вызвав Редактор столбцов;
В Редакторе столбцов вызвать контекстное меню и выбрать пункт
(Добавить все столбцы);
Рис. 11. Список статических столбцов
Выполнить аналогичные действия над каждым компонентом SimpleDataSet;
Создать подстановочные статические столбцы для полей сетки DBGrid для набора данных, связанного с подчиненной таблицей для отображения в подчиненной таблице содержимого полей главных таблиц с выпадающим списком значений.
ЗАМЕЧАНИЕ: выполнить следующие действия:
Вызвать контекстное меню в Редакторе столбцов для компонента SimpleDataSet, связанного с подчиненной таблицей в БД (например – SimpleDogovors) и выбрать
(Добавить новое поле);
Для создания подстановочного поля, содержащего выпадающий список значений поля связанной по внешнему ключу главной таблицы (например – поле NameFiliala в таблице Dogovors, содержащее значение поля FNameFiliala главной таблицы Filials, связь по ключу FKodFiliala) в появившемся окне выбрать:
Рис. 12. Создание постановочного поля NameFiliala в таблице Dogovors
Аналогичным образом создать подстановочное поле для другой главной таблицы для данного набора данных (например – поле VidStrah в таблице Dogovors, содержащее значение поля VNaimenovanie главной таблицы Vidstrahovaniya, связь по ключу VKod VidStrah) (рис. 13)
Рис. 13. Создание постановочного поля VidStrah в таблице Dogovors
Активизировать в модуле данных все компоненты SimpleDataSet.
При желании можно создать несколько подстановочных полей для вывода данных из главных таблиц.
Настроить поля сетки на отображение данных из связанных наборов данных: вывод русских названий столбцов таблиц, подстановочных столбцов.
ЗАМЕЧАНИЕ: выполнить следующие действия:
Дважды щелкнуть на форме на компоненте DBGrid, связанном с одним из наборов данных (или вызвать контекстное меню на компоненте, выбрать Columns Editor…);
В появившемся окне выбрать Add all fields;
Поочередно выбирая названия полей сетки в Object Inspector, изменять соответствующее значение в свойстве Caption в списке Title с английского на русский (рис. 14).
Рис. 14. Изменение названий полей сетки
Аналогичным образом изменить все имена полей всех сеток.
При желании можно удалить из списка полей сетки определенные поля, учитывая, что поле должно быть Null (не обязательным для заполнения) или внешним ключом, если создано соответствующее подстановочное поле.
Например, в сетке, связанной с подчиненной таблицей Dogovors, из сетки можно удалить внешние ключи, т.к. были созданы подстановочные статические поля VidStrah и NameFilial (см. п. 34, рис. 15 слева).
Рис. 15. Список столбцов сетки подчиненной таблицы Dogovors
Запустить приложение на выполнение, проверить работу подстановочных столбцов в подчиненной таблице (рис. 15 справа).
Создать для отдельных полей сетки выпадающий список с фиксированным списком данных.
ЗАМЕЧАНИЕ: выполнить следующие действия:
Выбрать сетку, связанную с нужным набором данных, например – с таблицей Dogovors;
Выбрать нужное поле (например, поле DTarifStavka);
В
ыбрать свойство PinkList (свойство PinkList представляет собой список для выбора заносимых в поле значений) и ввести нужные значения (рис. 16).
В отличие от подстановочного поля, для заполненных записей не происходит автоматическое обновление при внесении изменений в существующий список.
Если необходимо ограничиться только списком, следует установить свойству ReadOnly значение True.
Рис. 16. Список значений для поля DTarifStavka таблицы Dogovors