为什么我的子报表没有显示?看,JRXML代码非常简单。
当我按iReport中的查看按钮时,仅显示主报告。
没有显示两个子报表。
欢迎任何帮助。
report1_subreport1.jrxml:标题栏中仅包含静态文本
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="report1_subreport1"language="groovy" pageWidth="555" pageHeight="802" columnWidth="555" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0" uuid="05f9b4fc-35fa-4335-8fd3-a02a78526a7c">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<title>
<band height="79" splitType="Stretch">
<staticText>
<reportElement uuid="b9a3b1af-3d85-4902-a374-0674a0ea5c9f" x="0" y="7" width="218" height="72"/>
<textElement/>
<text><![CDATA[Mensage1]]></text>
</staticText>
</band>
</title>
</jasperReport>
report1.jrxml:包含一个静态文本和两个子报表,它们在早期定义相同。
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="report1" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" isSummaryNewPage="true" uuid="cb5ca789-5eeb-4fce-914b-626d1da98104">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false">
<defaultValueExpression><![CDATA["/home/david/teste/"]]></defaultValueExpression>
</parameter>
<queryString language="XPath">
<![CDATA[]]>
</queryString>
<title>
<band height="61" splitType="Stretch">
<subreport>
<reportElement uuid="b762ee33-6259-4103-92c0-f0dda0139a2f" x="0" y="0" width="555" height="61"/>
<connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
<subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "report1_subreport1.jasper"]]></subreportExpression>
</subreport>
</band>
</title>
<columnHeader>
<band height="61" splitType="Stretch">
<textField>
<reportElement uuid="af42ea5b-3b1e-4701-8077-6bd72597c929" x="0" y="0" width="555" height="61"/>
<textElement/>
<textFieldExpression><![CDATA["Main Message"]]></textFieldExpression>
</textField>
</band>
</columnHeader>
<detail>
<band height="61" splitType="Stretch">
<subreport runToBottom="false">
<reportElement uuid="b762ee33-6259-4103-92c0-f0dda0139a2f" x="0" y="0" width="555" height="61"/>
<subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "report1_subreport1.jasper"]]></subreportExpression>
</subreport>
</band>
</detail>
</jasperReport>
最佳答案
我找出问题所在。
字段“无数据时”设置为“无页面”,应为“所有部分,无详细信息”。
另一个原因是第二个子报表处于deatail区域中,因此不会被打印。
我没有在运行时中进行测试,仅在iReport中进行了测试,但是我认为它会运行。