Borland C++ Builder

Создание отчетов "master-detail"


Преобразуем созданный отчет в отчет "master-detail". Для этого следует добавить компонент TTable, установить его свойство DatabaseName равным BCDEMOS, свойство TableName равным ORDERS.DB, а затем установить свойство Active равным true. После этого установим свойство MasterSource равным DataSource1. Затем выберем свойство MasterFields, вызвав диалоговую панель для установки связи master/detail (рис. 4 ) и из списка доступных индексов выберем CustNo. Затем выделим имя поля CustNo в обоих списках полей и нажмем кнопку Add, а кнопку OK.

Рис. 4. Установка связи master/detail

Добавим на форму компонент TDataSource, установив его свойство DataSet равным Table2 . Затем добавим к форме новый компонент TQRBand (c именем QRBand6). После этого добавим компонент TQRDetailLink, предназначенный для установки связей между источниками данных в отчетах, и установим его свойство DataSource равным DataSource2. Затем установим его свойство Master равным QuickReport, а свойство DetailBand равным QRBand6. Свойство BandType компонента QRBand6 автоматически примет значение rbSubDetail.

Наконец, поместим два компонента TQRDBText на QRBand6, установим их свойства DataSource равными DataSource2, а свойства DataField равными OrderNo и AmountPaid. Слева от них поместим два компонента TQRLabel с названиями этих полей (рис. 5).

Рис. 5. Форма отчета "master-detail".

Выберем опцию Preview Report из контекстного меню компонента QuickReport для предварительного просмотра отчета (рис.6).

Рис. 6. Отчет "master-detail".

Отметим, что если компонент QuickReport не связан с компонентом DataSource, то при печати отчета выводится только одна запись из набора данных, что легко позволяет печатать текущую запись.



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