variable - PO-21/QtReports GitHub Wiki

<variable> - переменные упрощают шаблон отчета путем выделения в одной части выражения, которое широко используется во всем шаблоне отчета. Они могут выполнять расчеты, основанные на соответствующей формуле (выражении). В своем выражении (или формуле) переменная может использовать другие переменные, поля или параметры. Переменные вычисляются/инкрементируются с каждой записью из источника данных в том порядке, котором они обьявлены.

Атрибуты:

  • name - имя переменной. Является обязательным атрибутом и позволяет ссылаться на переменную по этому имени.

  • class - тип данных, которому принадлежит значение переменой(string - by default).

  • resetType - периодичность установки исходного значения( None|Report|Page|Column|Group). Варианты значений:

-None - никогда не инициализируется начальным значением. Содержит значение полученное путем вычисления выражения переменной.

-Report - инициализируется начальным значением (<initialValueExpression>) один раз в начале заполнения отчета (by Default).

-Page - инициализируется заново в начале каждой страницы.

-Column - инициализируется заново вначале каждого нового столбца.

-Group - инициализируется заново каждый раз, когда задается новая группа.

  • resetGroup - если resetGroup используется, то он содержит имя группы и работает только в сочетании с атрибутом resetType, значение которого будет resetType=Group.

  • incrementType - переодичность приращения переменной(None|Report|Page|Column|Group). По умолчанию переменная инкрементируется с каждой записью из источника данных.

Варианты значений:

-None - переменная инкрементируется с каждой записью (by Default).

-Report - переменная никогда не инкрементируется.

-Page - переменная инкрементируется с каждым новой страницей.

-Column - переменная инкрементируется с каждым новым столбцом.

-Group - инкрементируется каждый раз, когда задается новая группа.

  • incrementGroup - если incrementGroup используется, то он содержит имя группы и работает только в сочетании с атрибутом incrementType, значение которого будет incrementType=Group.

  • calculation - агрегатная функция(Count|Sum|Average|Lowest|Highest).

Выражение, задающее значение переменной.

<variableExpression><![CDATA[$F{absence}]]></variableExpression>

Тег, задающий исходное значение.(может не использоваться)

<initialValuesExpression><![CDATA[0]]></initialValuesExpression>

Встроенные переменные:

  • PAGE_NUMBER - содержит номер текущей страницы. В конце заполнения отчета содержит общее число страниц в документе. Может использоваться для отображения текущей страницы и количества страницы одновременно.

  • COLUMN_NUMBER - содержит номер текущей колонки. Переменная подсчитывает количество колонок для каждой страницы.

  • REPORT_COUNT - содержит общее число обработанных записей в отчете.

  • PAGE_COUNT - содержит количество записей обработанных в процессе заполнения текущей страницы.

  • COLUMN_COUNT - число записей, обработанных при генерации текущей колонки.

Пример использования:

<variable name="sumAbsenceByDiscipline" class="Integer" resetType="Group" resetGroup="Discipline" calculation="Sum">

`<variableExpression><![CDATA[$F{absence}]]></variableExpression>`

`<initialValueExpression><![CDATA[0]]></initialValueExpression>`

</variable>

<variable name="sumAbsenceByName" class="Integer" resetType="Group" resetGroup="Student name" calculation="Sum">

`<variableExpression><![CDATA[$F{absence}]]></variableExpression>`

`<initialValueExpression><![CDATA[0]]></initialValueExpression>`

</variable>

<textField>

`<reportElement x="396" y="0" width="159" height="34"/>`

`<textElement verticalAlignment="Middle"/>`

`<textFieldExpression><![CDATA[$V{sumAbsenceByDiscipline}]]></textFieldExpression>`

</textField>

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