group tag - PO-31/QtReports-OLD GitHub Wiki

Group

<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> - то, что будет напечатано после последнего элемента группы.

⚠️ **GitHub.com Fallback** ⚠️