수색…


매개 변수

매개 변수 세부
parametersMapExpression 매개 변수가있는 Map. 필요 없음
하위 보고서 매개 변수 이름과 값의 쌍 ( subreportParameterExpression으로 설정). 필요하지 않습니다 . 하위 매개 변수에 여러 매개 변수를 전달할 수 있습니다.
connectionExpression 데이터 가져 오기 연결. 필요 없음
dataSourceExpression 데이터 소스 전달을위한 표현식입니다. 필요 없음
하위 보고서 표현 하위 보고서의 경로 / URI 또는 ​​JasperReport 객체입니다. 필요 없음
returnValue 이름과 값의 쌍. 필요하지 않습니다 . 하위 보고서에서 마스터 보고서 백으로 여러 값을 반환 할 수 있습니다.

비고

  • 복잡한 보고서를 작성하는 데 하위 보고서를 사용할 수 있습니다. 기존 보고서를 다시 사용하면 하위 보고서를 사용하는 또 다른 목표입니다.

  • <subreport> 요소를 사용하는 경우 <subreport> 보고서가 마스터 보고서의 일부로 표시됩니다.

  • subreportExpression 매개 변수의 값은 JasperReports Server 에서 사용하거나 JasperReports 프레임 워크 (IDE에서 사용하거나 사용하는 일부 API) 만 다를 수 있습니다.

    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>

하위 보고서에 datasoure 전달하기

이것은 마스터 보고서 스 니펫입니다. 데이터 소스는 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