java - jasper 2.0.5 中的子报告未显示在主报告 pdf 中
问题描述
我正在我的主报告 jrmxl 中为我的 java 应用程序设置一个子报告。我目前正在使用 iReports 2.0.5 进行开发,无法使用其他版本。
当我运行测试以生成带有我的报告的 pdf 时,在日志中它似乎识别它并运行 stringquery 并在输出中设置参数,但在 pdf 中只出现主要报告数据。
这是主要的报告子报告标签
<jasperReport
name="triageSummary"
columnCount="1"
printOrder="Vertical"
orientation="Portrait"
pageWidth="595"
pageHeight="842"
columnWidth="519"
columnSpacing="0"
leftMargin="51"
rightMargin="25"
topMargin="20"
bottomMargin="20"
whenNoDataType="NoPages"
isTitleNewPage="false"
isSummaryNewPage="false">
<property name="ireport.scriptlethandling" value="0" />
<property name="ireport.encoding" value="UTF-8" />
<import value="java.util.*" />
<import value="net.sf.jasperreports.engine.*" />
<import value="net.sf.jasperreports.engine.data.*" />
<parameter name="SubRel_Cabecalho" isForPrompting="false" class="java.net.URL"/>
<subreport isUsingCache="true">
<reportElement
x="1"
y="3"
width="481"
height="18"
key="subreport-1"/>
<subreportParameter name="I_LANG">
<subreportParameterExpression><![CDATA[$P{ID_LANGUAGE}]]></subreportParameterExpression>
</subreportParameter>
<connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
<subreportExpression class="java.net.URL"><![CDATA[$P{SubRel_Cabecalho}]]></subreportExpression>
</subreport>
</jasperReport>
在我的 java 中,我配置了一个 Hibertante 连接以生成报告并将参数作为资源传递
this.putParameterResource("SubRel_Cabecalho", "/reports/audit/edis_audit_cabecalho_analise.jasper");
我的主要问题是当我生成报表时,只显示主报表的数据,不打印子报表。为了显示子报告,我缺少一些配置?
解决方案
试试这个,
定义SubRel_Cabecalho
为数据类型为 `class="java.lang.String" 的参数
<parameter name="SubRel_Cabecalho" isForPrompting="false" class="java.lang.String/>
然后用它来传递子报表文件路径
HashMap<String, Object> parameterMap = new HashMap<String, Object>();
parameterMap.put("SubRel_Cabecalho", "/reports/audit/edis_audit_cabecalho_analise.jasper");
推荐阅读
- javascript - 滚动指示器 JavaScript 仅适用于 HTML 文档
- ruby-on-rails - 无法在控制台中获取 Rails 操作文本
- google-apps-script - 如何在 Google Script 中使用 indexOf 获取参考单元格后使用偏移量
- python - json.decoder.JSONDecodeError:期望','分隔符:第 1 行第 11 列(字符 10)
- javascript - 如何在javascript代码中包含脚本?
- excel - 将列的倍数数据从 xlsx 导入到 powershell cmd
- react-native - 如何坚持语言更改 react-i18next React-native
- java - 您发送给其他用户的消息不会显示在他们的 ChatsFragment 中。只显示给消息的发送者,不显示给接收者
- gnome - 卸载的 gnome 扩展不断重新出现
- node.js - 请解释Express.js的基本服务器设置代码