【发布时间】:2015-11-15 14:05:31
【问题描述】:
我有一个包含值的字段:
CM45024,CM45025,CM45026
我想使用子报表将其分成多个项目。我的 jrxml 来源是:
<field name="docIdNoGRN" class="java.lang.String">
<fieldDescription><![CDATA[docIdNoGRN]]></fieldDescription>
</field>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement key="textField-53" x="311" y="1" width="88" height="15" uuid="2e040fd0-8fae-46e8-a845-fba421922992"/>
<textElement textAlignment="Center">
<font size="10"/>
</textElement>
<textFieldExpression><![CDATA[($F{docIdNoGRN} != null && $F{docIdNoGRN}.toString().length() > 0) ? $F{docIdNoGRN} : " "]]>
</textFieldExpression>
</textField>
该字段可以包含 3 个或更多项,因为它取决于数据。而不是在报告中包含一项:
Item No. Item ID.
1 CM45024,CM45025,CM45026
我想这样展示它:
Item No. Item ID.
1 CM45024
2 CM45025
3 CM45026
我正在使用 TIBCO Jaspersoft® Studio Professional - JasperReport 6.1.1 的可视化设计器。
【问题讨论】:
-
是的,不确定是否将此代码放在源代码中以及我需要添加的组件中。我对 jrxml 很陌生,只知道基本的东西。你在线吗?我面临的一些问题: 1. 如果我添加 SubReport 元素,我不知道如何将其配置为指向 $F{docIdNoGRN} 2.
-
运行时出现错误:[STDOUT] net.sf.jasperreports.engine.design.JRValidationException:报告设计无效:1. 未找到字段:_THIS
-
我已经在答案中粘贴的子报表代码(您可以复制过去),如果您的jasper报表版本为5.0或更高版本,它将起作用(您只能在子报表中引用_THIS。
-
您在主报告中放置的
标记(详细信息带),请务必指向 your_subreport.jasper .jasper 文件(绝对路径),并且您已遵守 your_subreport。 jrxml,在我的示例中,我使用参数传递绝对路径 $P{SUBREPORT_DIR},但您也可以在 subreportExpression 中对其进行硬编码