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