LS
在使用6.9.0版的5组报告时,我遇到了一些麻烦。在第5个中,有一个变量“ hasMoreThanTwoLines”报告为true(关键字)。 在同一组中,我想使用此变量使用“何时打印”表达式来显示或隐藏子报表。 但是,当我使用此变量时,子报告将永远不会打印。
任何想法都非常受欢迎!
亲切的问候。
Variable 'hasMoreThanTwoLines':
<variable name="hasMoreThanTwoLines" class="java.lang.Boolean" resetType="Group" resetGroup="sortLinesVariable">
<variableExpression><![CDATA[$V{sortLinesVariable_COUNT} >= 2]]></variableExpression>
<initialValueExpression><![CDATA[$V{sortLinesVariable_COUNT} >= 2]]></initialValueExpression>
</variable>
Print when for sub-report
<subreport>
<reportElement positionType="Float" mode="Transparent" x="84" y="30" width="329" height="17" uuid="3798ba39-0c51-4400-87a2-7cac640e7e78">
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.x" value="px"/>
<printWhenExpression><![CDATA[$V{hasMoreThanTwoLines}]]></printWhenExpression>
</reportElement>
<subreportParameter name="STYLESHEET_DIR">
<subreportParameterExpression><![CDATA[$P{STYLESHEET_DIR}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="matchValue">
<subreportParameterExpression><![CDATA[$V{sortLinesVariable}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="printLines">
<subreportParameterExpression><![CDATA[$V{hasMoreThanTwoLines}]]></subreportParameterExpression>
</subreportParameter>
<dataSourceExpression><![CDATA[((net.sf.jasperreports.engine.data.JRXmlDataSource)$P{REPORT_DATA_SOURCE}).dataSource("/document/lines/line")]]></dataSourceExpression>
<subreportExpression><![CDATA[$F{setting.reportDir} +
(
"theSubReport.jasper"
)]]></subreportExpression>
</subreport>