Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jasper reports Jasper报告-分页问题_Jasper Reports - Fatal编程技术网

Jasper reports Jasper报告-分页问题

Jasper reports Jasper报告-分页问题,jasper-reports,Jasper Reports,Jasper Reports中的分页有以下问题: 我有一个基于MySql查询结果的报告。每个页面对应于从MySql返回的一行。基本上,“详细信息”页面上的文本字段打印长文本或clob 我在“详细信息”部分的末尾添加了一个分页符 然而: 如果我将“split type”用作“Immediate”,则任何“overflows”的页面都不会出现分页符。换句话说,如果文本被分成两页,则下一条记录将从第二页开始,而不是从第三页开始 如果我使用“splittype”作为“Prevent”,那么除了那些文本很

Jasper Reports中的分页有以下问题:

我有一个基于MySql查询结果的报告。每个页面对应于从MySql返回的一行。基本上,“详细信息”页面上的文本字段打印长文本或clob

我在“详细信息”部分的末尾添加了一个分页符

然而:

  • 如果我将“split type”用作“Immediate”,则任何“overflows”的页面都不会出现分页符。换句话说,如果文本被分成两页,则下一条记录将从第二页开始,而不是从第三页开始

  • 如果我使用“splittype”作为“Prevent”,那么除了那些文本很短的记录外,所有记录都会出现额外的分页符。额外的页面会导致打印多个空白页面

  • 不用说,任何帮助都将不胜感激

    <?xml version="1.0" encoding="UTF-8"?>
    <!-- Created with Jaspersoft Studio version 6.3.0.final using JasperReports Library version 6.3.0  -->
    <!-- 2017-03-18T17:00:56 -->
    <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="TreatmentPlanNotes" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="a6476bf3-e703-4b50-9368-2eec564bb444">
        <property name="com.jaspersoft.studio.unit." value="pixel"/>
        <property name="com.jaspersoft.studio.unit.pageHeight" value="pixel"/>
        <property name="com.jaspersoft.studio.unit.pageWidth" value="pixel"/>
        <property name="com.jaspersoft.studio.unit.topMargin" value="pixel"/>
        <property name="com.jaspersoft.studio.unit.bottomMargin" value="pixel"/>
        <property name="com.jaspersoft.studio.unit.leftMargin" value="pixel"/>
        <property name="com.jaspersoft.studio.unit.rightMargin" value="pixel"/>
        <property name="com.jaspersoft.studio.unit.columnWidth" value="pixel"/>
        <property name="com.jaspersoft.studio.unit.columnSpacing" value="pixel"/>
        <property name="com.jaspersoft.studio.data.sql.tables" value=""/>
        <parameter name="beg_dt" class="java.util.Date"/>
        <parameter name="end_dt" class="java.util.Date"/>
        <parameter name="first_name" class="java.lang.String"/>
        <parameter name="last_name" class="java.lang.String"/>
        <field name="created_dt" class="java.sql.Timestamp"/>
        <field name="note" class="java.lang.String"/>
        <field name="patient" class="java.lang.Integer"/>
        <field name="patient_name" class="java.lang.String"/>
        <field name="doctor_name" class="java.lang.String"/>
        <group name="Group1" isStartNewPage="true">
            <groupExpression><![CDATA[$V{REPORT_COUNT}]]></groupExpression>
            <groupHeader>
                <band/>
            </groupHeader>
            <groupFooter>
                <band/>
            </groupFooter>
        </group>
        <background>
            <band splitType="Stretch"/>
        </background>
        <title>
            <band height="57" splitType="Stretch">
                <staticText>
                    <reportElement x="14" y="10" width="184" height="30" forecolor="#3D0D0C" uuid="a847deeb-9517-4108-bb2b-9761158446cf"/>
                    <textElement>
                        <font fontName="Adobe Garamond Pro Bold" size="20"/>
                    </textElement>
                    <text><![CDATA[Treatment Plans:]]></text>
                </staticText>
                <textField>
                    <reportElement x="185" y="10" width="125" height="30" forecolor="#3D0A08" uuid="bee361db-d322-4d7c-85b9-22c3490ca018">
                        <property name="com.jaspersoft.studio.unit.y" value="pixel"/>
                    </reportElement>
                    <textElement>
                        <font fontName="Adobe Garamond Pro Bold" size="20"/>
                    </textElement>
                    <textFieldExpression><![CDATA[new SimpleDateFormat("MM/dd/yyyy").format($P{beg_dt})]]></textFieldExpression>
                </textField>
                <textField>
                    <reportElement x="374" y="10" width="129" height="30" forecolor="#3D0A08" uuid="00abf204-6e5d-4c42-ad41-21fc3eb40247">
                        <property name="com.jaspersoft.studio.unit.y" value="pixel"/>
                    </reportElement>
                    <textElement>
                        <font fontName="Adobe Garamond Pro Bold" size="20"/>
                    </textElement>
                    <textFieldExpression><![CDATA[new SimpleDateFormat("MM/dd/yyyy").format($P{end_dt})]]></textFieldExpression>
                </textField>
                <staticText>
                    <reportElement x="320" y="10" width="30" height="30" forecolor="#3D0A08" uuid="a602d6a4-51ea-47f1-aceb-4a5dcc4ae88d"/>
                    <textElement>
                        <font fontName="Adobe Garamond Pro Bold" size="20"/>
                    </textElement>
                    <text><![CDATA[to]]></text>
                </staticText>
            </band>
        </title>
        <detail>
            <band height="250" splitType="Immediate">
                <textField>
                    <reportElement x="4" y="8" width="106" height="24" uuid="f78e49a7-3d65-4a68-9dec-b4708a06db72"/>
                    <textElement>
                        <font fontName="Adobe Garamond Pro Bold" size="14"/>
                    </textElement>
                    <textFieldExpression><![CDATA[$F{created_dt}]]></textFieldExpression>
                </textField>
                <textField>
                    <reportElement x="128" y="9" width="112" height="24" uuid="2cfbfba2-e429-415c-8737-05282649b74e"/>
                    <textElement>
                        <font fontName="Adobe Garamond Pro Bold" size="14"/>
                    </textElement>
                    <textFieldExpression><![CDATA[$F{patient_name}]]></textFieldExpression>
                </textField>
                <textField isStretchWithOverflow="true">
                    <reportElement x="2" y="43" width="550" height="207" isRemoveLineWhenBlank="true" uuid="f15bcb7e-b3d1-4f61-a2ae-63e4807c8a5a"/>
                    <textFieldExpression><![CDATA[ITreatUtils.convertHTMLtoPlain($F{note})]]></textFieldExpression>
                </textField>
            </band>
        </detail>
        <pageFooter>
            <band height="37" splitType="Stretch">
                <textField>
                    <reportElement x="229" y="5" width="100" height="30" isRemoveLineWhenBlank="true" uuid="c19b6d54-120d-449d-a138-f1e6b91641da"/>
                    <textFieldExpression><![CDATA[$V{PAGE_NUMBER}]]></textFieldExpression>
                </textField>
            </band>
        </pageFooter>
    </jasperReport>
    
    
    
    查看JRXML(至少是详细信息栏)可能有助于了解问题所在。但是,您可以尝试的另一个方法是去掉break元素,创建一个在每条记录上都会中断的组(例如,使用$V{REPORT_COUNT}作为组表达式),并设置isStartNewPage标志。谢谢。我尝试过使用分组——虽然有了改进,但仍有一些情况下,在大约10-15条记录中出现过一次空白页。当记录的长度与页面上容纳的长度差不多时,就会发生中断。当记录溢出到另一个页面或记录很好地适合页面时,页面不会发生。我已经添加了JRXML。您可以尝试的第一件事是将组页脚和页眉标注栏高度设置为0,并通过将其高度设置为250来消除细节标注栏底部的空白。实现了您的建议。我现在只剩下50条记录/页中的一页空白。这应该是可以接受的,也许是不可修复的。由于Jasper对我来说只是一个次要项目,我必须问你一个基本问题-你是如何得出细节带的高度应该是250的结论的?另外,由于这个问题是有效的-你介意接受这个问题吗?250是细节带中最低元素的底部:y(43)+高度(207)=250。JasperReports会在条带中保留空白,因此如果要避免出现空白,就不应该在条带底部有空白。查看JRXML(至少是详细信息条带)可能有助于了解问题所在。但是,您可以尝试的另一个方法是去掉break元素,创建一个在每条记录上都会中断的组(例如,使用$V{REPORT_COUNT}作为组表达式),并设置isStartNewPage标志。谢谢。我尝试过使用分组——虽然有了改进,但仍有一些情况下,在大约10-15条记录中出现过一次空白页。当记录的长度与页面上容纳的长度差不多时,就会发生中断。当记录溢出到另一个页面或记录很好地适合页面时,页面不会发生。我已经添加了JRXML。您可以尝试的第一件事是将组页脚和页眉标注栏高度设置为0,并通过将其高度设置为250来消除细节标注栏底部的空白。实现了您的建议。我现在只剩下50条记录/页中的一页空白。这应该是可以接受的,也许是不可修复的。由于Jasper对我来说只是一个次要项目,我必须问你一个基本问题-你是如何得出细节带的高度应该是250的结论的?另外,由于这个问题是有效的-你介意接受这个问题吗?250是细节带中最低元素的底部:y(43)+高度(207)=250。JasperReports会在标注栏中保留空白,因此如果要避免出现空白,则标注栏底部不应出现空白。