|
InterReport в
можете створювати згруповані звіти просто
і ефективно. Вкладеність груп необмежена, і
якщо ви зв’яжете декілька наборів даних в
вашому звіті, ви зможете групувати по будь-яким
наборам даних DataSet.
Компонент TIRGroup
знаходиться на палітрі компонент. При
розміщенні в звіті має вигляд діапазону.
Цей діапазон має заголовок групи. Кожен раз,
коли група закінчується, заголовок
друкується. Також ви маєте можливість
додати низ для групи. Для цього виберіть
компонент TIRBand з палітри
і додайте його в звіт. Зв’яжіть властивість
TIRGroup.FooterBand с новим
діапазоном.
Діапазон TIRGroup
має властивість Майстер
(Master), що автоматично зв'язується
з головним InterReport дизайнер
компонентом. Він з’являється вище
діапазону даних (Detail) в
звіті. Коректно зв’язаний низ груп повинен
з’явитися нижче діапазону даних.
Найбільш важлива властивість TIRGroup
після Master – це Expression.
Введіть будь-який допустимий вираз в
інспекторі об’єктів. Группа закінчується,
коли результат виразу змінюється.
Наприклад
Для таблиці Customer
з встановленим індексом State
+ Company. Для друку заголовка групи кожен
раз, коли штат змінюється, ви маєте ввести State
або Customer.State
як вираз. Інтерпретатор виразів знайде поле
State і надрукує заголовок
групи перед кожним новим штатом. Приєднаний
низ групи після того, як будуть надруковані
всі замовники із даного штата, зручно
використовувати для підрахунку замовників
по кожному штату, об’єму продажу и т.ін.
Приклад звіту для отримання
записів про дзвінки по зонах (Мал. 7.13).
 |
Для отримання
використовується набір даних ZRecords
(записи про дзвінки), зв’язаний з
набором ZonesLikeTree (дерево
зон).
Вираз групи просто назва
зони у яку було здійснено дзвінок ZonesLikeTree.Location
|
Перший елемент TIRExpr знаходиться в
заголовоку групи і має наступний вираз: 'Записи
про дзвінки по зоні'+ ZonesLikeTree.Location
У
звіті використовуються п’ять елементів TIRExpr
на діапазоні деталей, які відображають
інформацію про окремий запис.
Останній TIRExpr
розміщено в низу групи і має наступний
вираз: Sum(Cost).
Цей вираз друкує сумарну
вартість дзвінків по кожній зоні.
Властивість Master зв’язано
з компонентом TInterRep і
встановлено властивість ResetAfterPrint,
тим самим Sum обнуляється
після друку кожної групи. Результат
показано на малюнку
|