Recherche…


Paramètres

Paramètre Détails
parametersMapExpression La carte avec les paramètres. Non requis
sous-rapportParamètre La paire de nom et de valeur (définie avec subreportParameterExpression ). Non requis Plusieurs paramètres peuvent être transmis au sous-rapport
connectionExpression Connexion pour obtenir des données. Non requis
dataSourceExpression Expression pour transmettre la source de données. Non requis
sous-rapportExpression Le chemin d'accès / URI du sous-rapport ou même l'objet JasperReport. Non requis
returnValue La paire de nom et de valeur. Non requis Plusieurs valeurs peuvent être renvoyées du sous-rapport au rapport principal

Remarques

  • Les sous-rapports peuvent être utilisés pour créer des rapports complexes. La réutilisation des rapports existants est un autre objectif de l'utilisation des sous-rapports.

  • Le sous-rapport sera affiché dans le cadre du rapport maître en cas d'utilisation de l'élément <subreport> .

  • La valeur du paramètre subreportExpression est différente pour l'utilisation sur JasperReports Server ou simplement par le framework JasperReports (certaines API utilisant ou utilisant IDE).

    Pour JasperReports Server, cela ressemble à:

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

    Pour utiliser uniquement le moteur JasperReports :

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

    La grande explication de @AndreasDietrich peut être trouvée sur JasperServer: Impossible de localiser le message d’ exception de sous-rapport

  • Pour certaines raisons, le sous-rapport peut être utilisé comme rapport commun - sans appeler depuis le rapport principal (avec l'aide de l'élément <subreport> ). Le sous-rapport est toujours un rapport.

Passer la connexion au sous-rapport; retourne les valeurs au rapport principal

Ceci est un extrait du rapport principal. Deux paramètres et la connexion (par exemple, jdbc ) passent au sous-rapport. Une valeur est renvoyée du sous-rapport au rapport principal, cette valeur ( variable ) peut être utilisée dans le rapport principal

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

Transmission de données au sous-rapport

Ceci est un extrait du rapport principal. La source de données est transmise au sous-rapport à l'aide du constructeur 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
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow