我的报告设置了标题带和包含表格的详细信息带。这两个频段之间没有间距。当我查看/打印报告时,细节带开始在第2页的顶部打印,第1页在页眉和页脚之间留有一个大的空白区域。
如何让细节带直接打印在第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>
答案 0 :(得分:5)
很可能细节带太大,以至于报告在第二页上启动它以尽可能多地显示它。
printWhenDetailOverflows
应该是相关参数。
如果您的报告足够小(或结果符合您的要求),您可以将顶部元素上的ignorePagination
设置为true
并将所有内容放在一个页面中。
此外,每页有pageHeight
842
个减去40
个保证金802
。
您的detail
频段为753
,title
为79
,因此它们不能放在一页上。