Поиск…


параметры

параметр подробности
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>


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow