Jasper报表 - 详细信息无法在第一页打印

3

我设置了一个包括标题和详细信息表格的报告,这两个部分之间没有间隔。当我查看/打印报告时,详细信息部分从第2页顶部开始打印,页面1留下了一个大的空白区域在页眉和页脚之间。

我该如何让详细信息部分直接打印在第一页的标题下面?

编辑:以下是代码。

<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="Summary" language="groovy" pageWidth="595" pageHeight="842" whenNoDataType="AllSectionsNoDetail" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="24a40acb-a702-48a6-b655-04f85fdba2a9">
    <property name="ireport.zoom" value="1.0"/>
    <property name="ireport.x" value="0"/>
    <property name="ireport.y" value="0"/>
    ...
    <background>
        <band splitType="Stretch"/>
    </background>
    <title>
        <band height="79" splitType="Stretch">
            <staticText>
                ...
            </staticText>
            ...
        </band>
    </title>
    <pageHeader>
        <band splitType="Stretch"/>
    </pageHeader>
    <columnHeader>
        <band splitType="Stretch"/>
    </columnHeader>
    <detail>
        <band height="753" splitType="Stretch">
            <componentElement>
                <reportElement uuid="3835c484-c5a2-4615-8018-b95d8d0b7f43" x="0" y="0" width="555" height="753" isPrintWhenDetailOverflows="true"/>
                <jr:table xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd">
                    ...
                </jr:table>
            </componentElement>
        </band>
    </detail>
    <columnFooter>
        <band splitType="Stretch"/>
    </columnFooter>
    <pageFooter>
        <band height="29" splitType="Stretch">
            <staticText>
                ...
            </staticText>
            ...
        </band>
    </pageFooter>
    <summary>
        <band splitType="Stretch"/>
    </summary>
</jasperReport>

请插入您的详细信息区域(即<detail ...>部分)和标题区域的规格。 - Angelo Fuchs
1个回答

7
很可能详细区段太大了,报表将其放在第二页上以尽可能多地显示它。 printWhenDetailOverflows 应该是相关参数。
如果您的报表足够小(或结果符合您的要求),则可以在顶部元素上设置 ignorePaginationtrue,并在一页中获取所有内容。
此外,您的 pageHeight842,减去 40 的边距后每页为 802。 您的 detail 区段为 753,标题为 79,因此它们无法放在同一页上。

我已经将这个属性添加到报表元素中,但似乎没有发生任何变化。 - Bort
@Bort 我明白了。看一下我编辑过的答案。在我导入你的示例后,它起作用了。问题是你的带子太大了,超出了页面范围。 - Angelo Fuchs

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接