group tag - PO-31/QtReports-OLD GitHub Wiki
<group>
- Группы - это гибкий способ организации данных в отчете. Они представляют собой последовательность
записей, которые имеют что-то общее, например, значение некоторого поля.
В отчете может быть сколь угодно групп. Порядок групп, заявленных в шаблоне отчета важен, потому что группы вложены одна в другую.
name
- обязательный. Название однозначно определяет группу и может быть использовано для других атрибутов,
когда необходимо сослаться на конкретную группу в отчете. Название группы является обязательным и подчиняется той
же схеме именования, что используется для параметров и переменных отчета.
IsStartNewColumn
- разрыв страницы (true| false) default: "false".
IsStartNewPage
- разрыв колонки (столбца) (true| false) default: "false".
Иногда требуется вставить разрыв страницы или колонки, когда начинается новая группа. Для того, чтобы engine
вставлял разрыв страницы или колонки каждый раз, когда начинается новая группа, необходимо задать атрибуты
IsStartNewPage
или IsStartNewColumn
соответственно.
IsReprintHeaderOnEachPage
(true| false) default: "false".
Группировка данных работает, как задумано, только тогда, когда записи в источнике данных уже упорядоченны в соответствии с групповым выражением, используемым в отчете.
Например, если вы хотите сгруппировать некоторые продукты по стране или городу производителя, engine
рассчитывает найти записи в источнике данных уже упорядоченными по стране и городу.
Если это не так, может получиться, что записи, относящихся к конкретной стране или городу окажутся в разных
частях полученного документа, потому что engine
не сортирует данные.
<group name="group_name">
<groupExpression class="QString">
<![CDATA[$F{group_name}]]>
</groupExpression>
<groupHeader>
<band height="37">
<textField>
<reportElement x="33" y="0" width="100" height="30" />
<textFieldExpression class="QString"><![CDATA[$F{group_name}]]></textFieldExpression>
</textField>
</band>
</groupHeader>
<groupFooter>
<band height="40">
<textField>
<reportElement x="0" y="0" width="100" height="30" />
<textFieldExpression class="QString">
<![CDATA[$F{group_name}]]>
</textFieldExpression>
</textField>
</band>
</groupFooter>
</group>
<groupExpression> - выражение, по которому будет производиться группировка.
<groupHeader> - заголовок группы - то, что будет напечатано перед первым элементом.
<groupFooter> - то, что будет напечатано после последнего элемента группы.