jasper-reports
포함 된 보고서 사용
수색…
매개 변수
| 매개 변수 | 세부 |
|---|---|
| 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>