Создание объекта Grid с помощью конструктора форм
Форма для таблиц, имеющих отношение "один-ко-многим", с помощью мастера создается достаточно быстро. Но она требует определенной доработки в конструкторе форм. Поэтому вам необходимо уметь создавать многотабличные формы с помощью конструктора, чтобы при необходимости их модифицировать. Для создания формы в конструкторе форм необходима следующая последовательность шагов:
- В окне Data Environment (Среда окружения) разместите таблицы, используемые в форме.
- Установите связи между таблицами.
- Разместите в форме поля главной таблицы.
- Создайте в форме объект Grid (Таблица) для отображения данных подчиненной таблицы.
Создание формы, содержащей объект Grid
Рассмотрим создание формы, с помощью которой можно просмотреть информацию о клиентах, их телефонах и сделанных ими покупках. В отчете будем использовать следующие таблицы: Customer, Phoncust. Ordsaleir..ordsaied и Goods. В таблицах содержится следующая информация:
- customer - список клиентов;
- phoncust — средства связи, по которым можно связаться с клиентом;
- ordsaiem — информация о продажах: номер заказа, дата заказа, код клиента, итоговая сумма заказа;
- Ordsaied — код, количество и стоимость проданного товара но данному заказу;
- Goods — информация о товарах.
Отношение между таблицами customer и phoncust определяется как "один-ко-многим", так как клиент может иметь несколько номеров телефона или факс для связи.
Отношение между таблицами customer и ordsalem также "один-ко-многим", поскольку каждый клиент может сделать несколько покупок.
Приступим к созданию формы.
- Откройте проект sales.
- Откройте окно конструктора форм для создания новой формы.
- Откройте окно Data Environment (Среда окружения), выполнив команду Environment (Окружение) из меню View (Вид).
- Используя команду Add (Добавить) из меню Data Environment (Среда окружения), Добавьте В форму таблицы Customer, Phoncust, Ordsalem, ordsaied и Goods. Между ними существуют следующие отношения:
- customer — родительская по отношению к таблицам phoncust и Ordsalem;
- Ordsalem — родительская по отношению к таблице Ordsaied;
- ordsaied - родительская по отношению к таблице Goods. Связь между таблицами осуществляется:
- Customer и Phoncust — по коду клиента;
- Customer и Ordsalem — по коду Клиента;
- Ordsalem и Ordsaied — по коду заказа;
- Ordsaied и Goods — по коду товара.
Данные В таблицах Customer, Ordsalem иPhoncust должны быть упорядочены по коду клиента, в ordsaied — по коду заказа, а в Goods — по коду товара.
- Установив все необходимые связи между таблицами и указав упорядочение данных (рис. 15.15), закройте окно Data Environment (Среда окру жения).
- Используя кнопки панели инструментов Form Controls (Элементы управления формы), расположите в форме заголовок, надписи и необходимые поля таблицы Customer.
- Выберите кнопку Grid (Таблица) на панели инструментов Form Controls (Элементы управления формы).
- Установите указатель в место предполагаемого расположения объекта и, удерживая кнопку мыши нажатой, переместите курсор по диагонали, нарисовав рамку требуемого размера.
- Для определения параметров созданного объекта выделите его и откройте окно свойств, выполнив команду Properties (Свойства) из меню View (Вид).
Рис. 15.15. Окно Data Environment создаваемой формы
- Скорректируйте свойство coiumncount (Количество столбцов) объекта Grid (Таблица), задав количество столбцов в создаваемом объекте равнным 3.
- Если вы хотите изменить цвет сетки таблицы, определите свойство GridLineCoior (Цвет сетки таблицы) объекта Grid (Таблица).
- Используя свойство Controisource (Источник данных) каждого из трех объектов column (Столбец), входящих в объект Grid (Таблица), свяжите столбцы с полями таблицы Phoncust.
- Используйте Caption (Надпись) каждого из трех объектов Header (Заголовок), входящих в объект Grid (Таблица), введите заголовки столбцов Вид связи, Номер кода и Номер. Чтобы заголовки располагались по центру столбцов, скорректируйте для каждою из них свойстве Alignment (Выравнивание), установив значение Middle center (По середине, в центре).
Определение первого объекта Grid (Таблица) завершено. Разместим в форме второй объект Grid (Таблица).
- Нажмите кнопку Grid (Таблица) на панели инструментов Form Controls (Элементы управления формы).
- Установите указатель в нижней части формы и, удерживая кнопку мыши в нажатом состоянии, переместите курсор по диагонали так, чтобы получилась рамка необходимого размера.
- Для определения параметров созданного объекта выделите его и откройте окно свойств.
- Скорректируйте свойство coiumncount (Количество столбцов) объекта Grid (Таблица), задав количество столбцов (6) в создаваемом объекте.
- Если необходимо выбрать цвет сетки таблицы, определите свойство GridLineCoior (Цвет сетки таблицы) объекта Grid (Таблица).
- Используя свойство controisource (Источник данных) каждого из пяти объектов column (Столбец), входящих в объект Grid (Таблица), выполните следующие действия:
- свяжите первые два столбца с полями cnDoc и dDoc таблицы Ordsalem;
- свяжите третий столбец с полем cnmGoods таблицы Goods;
- четвертый и пятый столбцы свяжите с полями nQuant и nUnitPrice таблицы Ordsaled.
- Шестой столбец таблицы будет содержать вычисляемое поле, определяющее стоимость проданного товара. Используя свойство Controisource (Источник данных) для шестого объекта column (Столбец), задайте выражение для вычисляемого поля:
Ordsaled.nQuant*Ordsaled.nUnitPrice
- Используя свойство caption (Надпись) каждого из шести объектов Header (Заголовок), входящих в объект Grid (Таблица), введите заголовки столбцов: Номер документа, Дата, Наименование товара, Количество, Цена и Стоимость. Чтобы заголовки столбцов располагались по центру, скорректируйте для каждого из них свойство Alignment (Выравнивание), установив значение Middle center (По середине, в центре).
- Используя свойство Forecoior каждого из пяти объектов Text (Текст), входящих в объект Grid (Таблица), установите цвет (например, красный) для выделения информации при установке курсора на данное поле.
- Добавьте в создаваемую форму кнопки перемещения по записям. Полученная форма показана на рис. 15.16.
- Сохраните созданную форму и запустите ее на выполнение. Отметьте, что при перемещении по записям таблицы Customer в первом объекте Grid (Таблица) отображается список телефонных номеров, по которым можно связаться с клиентом, а во втором объекте Grid (Таблица) показывается полный список товаров, купленных данным клиентом (рис. 15.17).
Рис. 15.16. Многотабличная форма
Рис. 15.17. Просмотр многотабличной формы
Создание формы, содержащей три объекта Grid
В рассмотренном примере мы использовали поля формы для отображения информации главной таблицы. Модифицируем созданную форму и разместим поля таблицы customer в объекте Grid (Таблица).
- Откройте в окне конструктора форм созданную в предыдущем примере форму и сохраните ее под новым именем.
- Удалите из формы все поля и надписи, оставив только объекты Grid (Таблица) (рис. 15.18).
Рис. 15.18. Удаление из формы полей ввода и надписей к ним
- Нажмите кнопку Grid (Таблица) на панели инструментов Form Controls (Элементы управления формы), установите указатель в левой верхней части формы и создайте новый объект Grid (Таблица).
- В окне свойств созданного объекта скорректируйте для объекта Grid (Таблица) свойство columncount (Количество столбцов), задав количество столбцов (4) в создаваемом объекте.
- Свяжите столбцы объекта с полями cCompany, cLastName, cFirstName и cAddress таблицы Customer.
- Скорректируйте для вновь созданных объектов свойства, определяющие цвет сетки таблицы, расположение заголовков, цвета отображения заголовков и выводимых данных.
- Сохраните форму и запустите ее на выполнение. Вид созданной формы показан на рис. 15.19.
Рис. 15.19. Форма с тремя объектами Grid
Содержание раздела