Я использую отчет jasper для экспорта своих отчетов в документ Word. В разделе сведений у меня есть дополнительный отчет. У меня проблема с типом разделения групп. Когда я выбираю сплит типа стрейч или немедленный У меня проблема ниже.Jasper report split type
Когда я выбираю Предотвратить тип раздвоения Я не получаю эту ошибку, но на этот раз есть много белого пространства в нижней части страницы, если пространство строк больше, чем оставаться высотой бэнда. Как я могу разделить мои данные частично в нижней части страницы без ошибки макета границы?
образец код. просто скопируйте и вставьте любой редактор студии jasper и введите длинный текст (по крайней мере, заполните две страницы) при запросе.
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.3.0.final using JasperReports Library version 6.3.0 -->
<!-- 2016-09-27T22:00:51 -->
<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="Test" pageWidth="595" pageHeight="842" whenNoDataType="AllSectionsNoDetail" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="f86bcfb7-d774-451f-9f46-c58f57e0efbb">
<property name="com.jaspersoft.studio.data.sql.tables" value=""/>
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/>
<parameter name="Parameter1" class="java.lang.String"/>
<queryString>
<![CDATA[select * from dummy]]>
</queryString>
<field name="sno" class="java.lang.Integer"/>
<field name="filed1" class="java.lang.Integer"/>
<field name="filed2" class="java.lang.String"/>
<columnHeader>
<band height="30">
<staticText>
<reportElement x="0" y="0" width="120" height="30" uuid="0cd17b54-755c-42fe-9363-7266a24337e3"/>
<box>
<topPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
</box>
<text><![CDATA[Static Text]]></text>
</staticText>
<staticText>
<reportElement x="170" y="0" width="130" height="30" uuid="f216b782-3080-4ba8-8cc3-2609c684f4be"/>
<box>
<topPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
</box>
<text><![CDATA[filed1]]></text>
</staticText>
<staticText>
<reportElement x="300" y="0" width="90" height="30" uuid="71985024-8b9a-49ae-81e0-6d6e9335cec7"/>
<box>
<topPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
</box>
<text><![CDATA[filed2]]></text>
</staticText>
<staticText>
<reportElement x="120" y="0" width="50" height="30" uuid="d45c0977-d842-424b-ab44-7edd5672b72d"/>
<box>
<topPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
</box>
<text><![CDATA[Image]]></text>
</staticText>
</band>
</columnHeader>
<detail>
<band height="30">
<textField isStretchWithOverflow="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="0" y="0" width="120" height="30" isPrintWhenDetailOverflows="true" uuid="fb93f1ac-7f7a-48fe-afa7-4aab5370cbec"/>
<box>
<topPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
</box>
<textFieldExpression><![CDATA[""]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="170" y="0" width="130" height="30" uuid="b5a72533-c1b6-4af9-a0b7-06d099981190"/>
<box>
<topPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
</box>
<textFieldExpression><![CDATA[$F{filed1}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="300" y="0" width="90" height="30" isPrintWhenDetailOverflows="true" uuid="bab5a3e9-22db-46b0-9302-f7614a6f6add"/>
<box>
<topPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
</box>
<textFieldExpression><![CDATA[$P{Parameter1}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="0" y="0" width="120" height="30" isPrintWhenDetailOverflows="true" uuid="d4338fad-1803-491e-90ef-8e01cb3de80d"/>
<box>
<topPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
</box>
<textFieldExpression><![CDATA["Hello"]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="170" y="0" width="130" height="30" isPrintWhenDetailOverflows="true" uuid="8cdac468-0a3f-4ed3-844b-473e1371f92e"/>
<box>
<topPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
</box>
<textFieldExpression><![CDATA[""]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="120" y="0" width="50" height="30" isPrintWhenDetailOverflows="true" uuid="6ab2f4f8-04cd-4a6f-b945-3a7af4b8c3fa"/>
<box>
<topPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
</box>
<textFieldExpression><![CDATA["Hello"]]></textFieldExpression>
</textField>
</band>
</detail>
</jasperReport>
Окончательно решение решено. Спасибо @ dada67 за подробный ответ.
Решение 1: вы можете создать файл jasperreports.properties на вашем пути к классам и добавьте строку ниже в этом файле:
net.sf.jasperreports.consume.space.on.overflow=falsenet.sf.jasperreports.consume.space.on.overflow=false
Solution 2: вы можете установить это значение программно также
DefaultJasperReportsContext djrc = net.sf.jasperreports.engine.DefaultJasperReportsContext.getInstance();
djrc.setProperty(net.sf.jasperreports.engine.fill.JRFillTextElement.PROPERTY_CONSUME_SPACE_ON_OVERFLOW,
Boolean.toString(false));
заведите [минимальный рабочий пример] (http://stackoverflow.com/help/mcve) а затем разместите JRXML. –
@DaveJarvis просьба проверить. Я добавил пример кода – sakit