jasper-reports
Использование подписок
Поиск…
параметры
| параметр | подробности |
|---|---|
| parametersMapExpression | Карта с параметрами. Не требуется |
| subreportParameter | Пара имени и значения (устанавливается с помощью subreportParameterExpression ). Не требуется . Несколько параметров могут быть переданы в отчет |
| connectionExpression | Соединение для получения данных. Не требуется |
| dataSourceExpression | Выражение для передачи Datasource. Не требуется |
| subreportExpression | Путь / URI подрепортажа или даже объект JasperReport. Не требуется |
| ReturnValue | Пара имени и значения. Не требуется . Несколько значений могут быть возвращены из подрепортажа в основной отчет |
замечания
Subreports может использоваться для построения сложных отчетов. Повторное использование существующих отчетов - еще одна цель использования подзаголовков.
Подрепорт будет отображаться как часть основного отчета в случае использования элемента
<subreport>.Значение параметра subreportExpression отличается для использования на сервере JasperReports или только с помощью инфраструктуры JasperReports (некоторые API используют или используют в среде IDE).
Для JasperReports Server это выглядит так:
<subreportExpression><![CDATA["repo:subreport.jrxml"]]></subreportExpression>Для использования только JasperReports :
<subreportExpression><![CDATA["/somePath/subreport.jasper"]]></subreportExpression>Большое объяснение от @AndreasDietrich можно найти на JasperServer: невозможно найти сообщение об исключении подрепортажа
По некоторым причинам субрепорт может использоваться как общий отчет - без вызова основного отчета (с помощью элемента
<subreport>). Подрепорт всегда является отчетом.
Передача подключения к отчету; вернуть значения в основной отчет
Это фрагмент основного отчета. Два параметра и соединение (например, jdbc ) передаются в подрегистр. Одно значение возвращается из подчиненного отчета обратно в главный отчет, это значение ( переменная ) может использоваться в основном отчете
<subreport>
<reportElement x="0" y="80" width="200" height="100"/>
<subreportParameter name="someSubreportParameter">
<subreportParameterExpression><![CDATA[$P{someMasterReportParamter}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="anotherSubreportParameter">
<subreportParameterExpression><![CDATA["Some text - constant value"]]></subreportParameterExpression>
</subreportParameter>
<connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
<returnValue subreportVariable="someVariableInSubreport" toVariable="someVariableInMasterReport"/>
<subreportExpression><![CDATA["$P{SUBREPORT_DIR} + "subreport.jasper"]]></subreportExpression>
</subreport>
Передача данных для отчета
Это фрагмент основного отчета. Источник данных передается в подчиненный отчет с помощью net.sf.jasperreports.engine.data.JRBeanCollectionDataSource конструктора
<field name="someFieldWithList" class="java.util.List"/>
<!-- ...... -->
<subreport>
<reportElement x="0" y="0" width="200" height="70"/>
<parametersMapExpression><![CDATA[$P{REPORT_PARAMETERS_MAP}]]></parametersMapExpression>
<dataSourceExpression><![CDATA[net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{someFieldWithList})]]></dataSourceExpression>
<subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "subreport.jasper"]]></subreportExpression>
</subreport>