Я использую Jasper Reports 3.7.2. У меня есть отчет с двумя столбцами, для которого задан горизонтальный порядок печати, итоговая полоса и источник данных XML. Всякий раз, когда печать останавливается, когда все столбцы имеют одинаковое количество записей (в моем случае - ровное количество записей), сводная полоса всегда перемещается на следующую страницу. Почему это происходит? Это почти должно быть ошибкой ...
Если вы переключите порядок печати в вертикальный, проблема исчезнет. Я не могу найти объяснения, почему горизонтальный порядок печати приводит к тому, что сводка переходит на следующую страницу. Я также заметил, что эта проблема возникает в версии "4.1". Вот пример простого отчета, который показывает проблему:
<?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="horizontal-issue" columnCount="2" printOrder="Horizontal" pageWidth="595" pageHeight="842" columnWidth="277" 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="0"/>
<queryString>
<![CDATA[select * from
(select 'hello' as hello) AS hello
union all
select * from
(select 'hello' as hello) AS hello
union all
select * from
(select 'hello' as hello) AS hello
union all
select * from
(select 'hello' as hello) AS hello]]>
</queryString>
<field name="hello" class="java.lang.String"/>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band splitType="Stretch"/>
</title>
<pageHeader>
<band splitType="Stretch"/>
</pageHeader>
<columnHeader>
<band splitType="Stretch"/>
</columnHeader>
<detail>
<band height="20" splitType="Stretch">
<textField>
<reportElement x="0" y="0" width="129" height="20"/>
<textElement/>
<textFieldExpression class="java.lang.String"><![CDATA[$F{hello}]]></textFieldExpression>
</textField>
</band>
</detail>
<columnFooter>
<band splitType="Stretch"/>
</columnFooter>
<pageFooter>
<band splitType="Stretch"/>
</pageFooter>
<summary>
<band height="33" splitType="Stretch">
<staticText>
<reportElement x="239" y="7" width="100" height="20"/>
<textElement>
<font size="16"/>
</textElement>
<text><![CDATA[SUMMARY]]></text>
</staticText>
</band>
</summary>
</jasperReport>