Buscar..


Parámetros

Parámetro Detalles
parametersMapExpression El mapa con parámetros. No requerido
subinformeParámetro El par de nombre y valor (establecido con subreportParameterExpression ). No es necesario . Varios parámetros se pueden pasar al subinforme
expresión de conexión Conexión para obtener datos. No requerido
dataSourceExpression Expresión para pasar la fuente de datos. No requerido
subreportExpression La ruta del subinforme / URI o incluso el objeto JasperReport. No requerido
retornoValor El par de nombre y valor. No es necesario . Se pueden devolver varios valores del subinforme al informe maestro.

Observaciones

  • Los subinformes se pueden usar para construir informes complejos. La reutilización de los informes existentes es otro objetivo del uso de subinformes.

  • El subinforme se mostrará como parte del informe maestro en caso de usar el elemento <subreport> .

  • El valor del parámetro subreportExpression es diferente para usar en JasperReports Server o simplemente por el marco de JasperReports (algunas API se usan o usan en IDE).

    Para el servidor JasperReports parece:

    <subreportExpression><![CDATA["repo:subreport.jrxml"]]></subreportExpression>
    

    Para usar solo con el motor JasperReports :

    <subreportExpression><![CDATA["/somePath/subreport.jasper"]]></subreportExpression>
    

    La gran explicación de @AndreasDietrich se puede encontrar en JasperServer: No se puede encontrar la publicación de excepción de subinforme

  • Por algunas razones, el subinforme se puede usar como un informe común, sin llamar desde el informe maestro (con la ayuda del elemento <subreport> ). El subinforme es siempre un informe.

Pasando la conexión al subinforme; devuelve los valores al informe maestro

Este es un fragmento del informe maestro. Dos parámetros y la conexión (por ejemplo, jdbc ) pasan al subinforme. Se devuelve un valor desde el subinforme al informe maestro, este valor ( variable ) se puede usar en el informe maestro

<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>

Pasar datasoure a subinforme

Este es un fragmento del informe maestro. El origen de datos se pasa al subinforme con la ayuda del constructor 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
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow