使用iReport 5的空白子报表

时间:2013-04-29 19:08:38

标签: java jasper-reports ireport

为什么我的子报告没有显示?看,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>

1 个答案:

答案 0 :(得分:0)

我弄清楚了问题。

字段“当没有数据”设置为“无页面”时应为“所有部分,无详细信息”。 另一个原因是第二个子报告处于deatail带,因此不会被打印。 我没有在运行时测试,只在iReport中测试,但我认为它会运行。