当前位置: 首页 > 知识库问答 >
问题:

iReport子报表重叠

通俊发
2023-03-14

我有以下问题:在我的主报告中,在详细信息部分,我有三个子报告。我将它们的位置类型设置为浮动,并将伸展类型设置为相对于波段高度,但结果不是预期的。报告长达500页,只是打印了第一个子报告的内容。可能出了什么问题?

<?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="Relatorio_Ivan_Master" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="96"/>
<parameter name="ID_FUNCIONARIO" class="java.lang.Integer">
    <defaultValueExpression><![CDATA[1]]></defaultValueExpression>
</parameter>
<parameter name="DTA_INICIO" class="java.util.Date"/>
<parameter name="DTA_TERMINO" class="java.util.Date"/>
<parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false">
    <defaultValueExpression><![CDATA["/Users/marcosnatanpacheco/Desktop/"]]></defaultValueExpression>
</parameter>
<queryString>
    <![CDATA[SELECT idt_funcionario, nme_funcionario, dta_alocacao_local, dta_alocacao_recurso, dta_alocacao_servico FROM tb_funcionario AS t1
INNER JOIN ta_alocacao_local AS t2 ON t2.cod_funcionario = t1.idt_funcionario
INNER JOIN ta_alocacao_recurso AS t3 ON t3.cod_funcionario = t1.idt_funcionario
INNER JOIN ta_alocacao_servico AS t4 ON t4.cod_funcionario = t1.idt_funcionario
WHERE idt_funcionario = $P{ID_FUNCIONARIO};]]>
</queryString>
<field name="idt_funcionario" class="java.lang.Integer"/>
<field name="nme_funcionario" class="java.lang.String"/>
<field name="dta_alocacao_local" class="java.sql.Timestamp"/>
<field name="dta_alocacao_recurso" class="java.sql.Timestamp"/>
<field name="dta_alocacao_servico" class="java.sql.Timestamp"/>
<background>
    <band splitType="Stretch"/>
</background>
<title>
    <band height="79" splitType="Stretch"/>
</title>
<pageHeader>
    <band height="35" splitType="Stretch"/>
</pageHeader>
<columnHeader>
    <band height="37" splitType="Stretch">
        <staticText>
            <reportElement x="0" y="12" width="100" height="20"/>
            <textElement>
                <font size="14" isBold="true"/>
            </textElement>
            <text><![CDATA[Funcionário:]]></text>
        </staticText>
        <textField>
            <reportElement x="100" y="12" width="440" height="20"/>
            <textElement>
                <font size="14"/>
            </textElement>
            <textFieldExpression><![CDATA[$F{nme_funcionario}]]></textFieldExpression>
        </textField>
    </band>
</columnHeader>
<detail>
    <band height="312" splitType="Stretch">
        <subreport>
            <reportElement positionType="Float" stretchType="RelativeToBandHeight" x="0" y="0" width="555" height="100"/>
            <subreportParameter name="ID_FUNCIONARIO">
                <subreportParameterExpression><![CDATA[$P{ID_FUNCIONARIO}]]></subreportParameterExpression>
            </subreportParameter>
            <subreportParameter name="DTA_INICIO">
                <subreportParameterExpression><![CDATA[$P{DTA_INICIO}]]></subreportParameterExpression>
            </subreportParameter>
            <subreportParameter name="DTA_TERMINO">
                <subreportParameterExpression><![CDATA[$P{DTA_TERMINO}]]></subreportParameterExpression>
            </subreportParameter>
            <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
            <subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "Relatorio_Ivan_Detail_Local.jasper"]]></subreportExpression>
        </subreport>
        <subreport>
            <reportElement positionType="Float" stretchType="RelativeToBandHeight" x="0" y="104" width="555" height="100"/>
            <subreportParameter name="ID_FUNCIONARIO">
                <subreportParameterExpression><![CDATA[$P{ID_FUNCIONARIO}]]></subreportParameterExpression>
            </subreportParameter>
            <subreportParameter name="DTA_INICIO">
                <subreportParameterExpression><![CDATA[$P{DTA_INICIO}]]></subreportParameterExpression>
            </subreportParameter>
            <subreportParameter name="DTA_TERMINO">
                <subreportParameterExpression><![CDATA[$P{DTA_TERMINO}]]></subreportParameterExpression>
            </subreportParameter>
            <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
            <subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "Relatorio_Ivan_Detail_Recurso.jasper"]]></subreportExpression>
        </subreport>
        <subreport>
            <reportElement positionType="Float" stretchType="RelativeToBandHeight" x="0" y="209" width="555" height="100"/>
            <subreportParameter name="ID_FUNCIONARIO">
                <subreportParameterExpression><![CDATA[$P{ID_FUNCIONARIO}]]></subreportParameterExpression>
            </subreportParameter>
            <subreportParameter name="DTA_INICIO">
                <subreportParameterExpression><![CDATA[$P{DTA_INICIO}]]></subreportParameterExpression>
            </subreportParameter>
            <subreportParameter name="DTA_TERMINO">
                <subreportParameterExpression><![CDATA[$P{DTA_TERMINO}]]></subreportParameterExpression>
            </subreportParameter>
            <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
            <subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "Relatorio_Ivan_Detail_Servico.jasper"]]></subreportExpression>
        </subreport>
    </band>
</detail>
<pageFooter>
    <band height="54" splitType="Stretch"/>
</pageFooter>
<summary>
    <band height="42" splitType="Stretch"/>
</summary>
</jasperReport>

共有1个答案

单于阳
2023-03-14

我已经找到解决办法了。我创建了3个细节带,并把每个细节带一个子报告!效果很好!

 类似资料:
  • 我可以为我的Java项目的一个报告提供多个子报告吗? 我有一个生成主报表的类,根据用户选择的报表,子报表将在主报表中生成。但是我在Java类上这样做,在iReport上我只放参数。因此,我只有一个主报表和许多子报表,这些报表将根据用户的选择而插入。这可能吗?

  • 为什么我的子报表没有显示?看,JRXML代码非常简单。当我按下iReport中的查看按钮时,仅显示主报告。不显示这两个子报表。欢迎任何帮助。 report1_subreport1.jrxml:仅包含标题栏中的静态文本 report1.jrxml :包含一个静态文本和两个子报表,与之前定义的相同。

  • 子报告有两个细节带,第一个是“标题”,第二个是另一个子报告。这些乐队在两页纸上彼此分开。 我尝试了许多属性,但没有结果,如“忽略分页”和“允许拆分” 我的问题是:如何强制ireport不将子报表拆分到两页上?

  • 我在主报告中使用了100多个子报告和一些细节带

  • 我正在使用 iReport 4.0.2 创建一个包含一个子报表的主报表。我尝试在子报表的页眉带和页脚带中添加一些静态文本,我希望页眉带和页脚带中的文本将重复,但如果子报表本身有多个页面,则这些文本仅显示在子报表的第一页(但不显示在其余页面上)。 实际上,我想做的是在子报表中放置一个“第 x 页,共 n 页”变量,以便子报表可以有自己的一组页码。 这是我当前报告的布局:(对不起,我没有权限在这里上传