FoxPro8
938aad90

Создание формы, содержащей объект 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. Просмотр многотабличной формы


      Содержание раздела