Java jasper表格第一行未显示在pdf中

Java jasper表格第一行未显示在pdf中,java,jasper-reports,Java,Jasper Reports,尝试用java生成pdf时,java列表的第一个数据不会显示在Jasper report中。 我的JRXML代码: <?xml version="1.0" encoding="UTF-8"?> <!-- Created with Jaspersoft Studio version 6.4.0.final using JasperReports Library version 6.4.1 --> <jasperReport xmlns="http://jasperr

尝试用java生成pdf时,java列表的第一个数据不会显示在Jasper report中。

我的JRXML代码:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.4.0.final using JasperReports Library version 6.4.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="subreport" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="4d180a2f-d30e-4c01-be4d-34208d1ab63f">
    <property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/>
    <style name="Table_TH" mode="Opaque" backcolor="#F0F8FF">
        <box>
            <pen lineWidth="0.5" lineColor="#000000"/>
            <topPen lineWidth="0.5" lineColor="#000000"/>
            <leftPen lineWidth="0.5" lineColor="#000000"/>
            <bottomPen lineWidth="0.5" lineColor="#000000"/>
            <rightPen lineWidth="0.5" lineColor="#000000"/>
        </box>
    </style>
    <style name="Table_CH" mode="Opaque" backcolor="#BFE1FF">
        <box>
            <pen lineWidth="0.5" lineColor="#000000"/>
            <topPen lineWidth="0.5" lineColor="#000000"/>
            <leftPen lineWidth="0.5" lineColor="#000000"/>
            <bottomPen lineWidth="0.5" lineColor="#000000"/>
            <rightPen lineWidth="0.5" lineColor="#000000"/>
        </box>
    </style>
    <style name="Table_TD" mode="Opaque" backcolor="#FFFFFF">
        <box>
            <pen lineWidth="0.5" lineColor="#000000"/>
            <topPen lineWidth="0.5" lineColor="#000000"/>
            <leftPen lineWidth="0.5" lineColor="#000000"/>
            <bottomPen lineWidth="0.5" lineColor="#000000"/>
            <rightPen lineWidth="0.5" lineColor="#000000"/>
        </box>
    </style>
    <subDataset name="dataset" uuid="5c388144-2819-47f9-b534-f7f6ba299c89">
        <field name="patient_pid" class="java.lang.String"/>
        <field name="name" class="java.lang.String"/>
        <field name="time" class="java.lang.String"/>
        <field name="dov" class="java.lang.String"/>

    </subDataset>
    <parameter name="Image" class="java.io.InputStream"/>
    <queryString>
        <![CDATA[]]>
    </queryString>
    <field name="clinic_name" class="java.lang.String"/>
    <background>
        <band splitType="Stretch"/>
    </background>
    <title>
        <band height="64" splitType="Stretch">
            <textField pattern="MMMMM dd, yyyy">
                <reportElement x="450" y="-1" width="100" height="24" uuid="4d7ac980-0ba0-4efe-9081-1434c588323b"/>
                <textElement>
                    <font size="11"/>
                </textElement>
                <textFieldExpression><![CDATA[new java.util.Date()]]></textFieldExpression>
            </textField>
            <staticText>
                <reportElement x="410" y="0" width="50" height="22" uuid="5c4e36e4-9f79-471f-a5c5-33cae773d289"/>
                <textElement>
                    <font size="10"/>
                </textElement>
                <text><![CDATA[DATE :]]></text>
            </staticText>
            <line>
                <reportElement x="-20" y="50" width="595" height="1" uuid="0447b856-de6a-4e34-9fbb-3154c2cde3c5"/>
            </line>
            <textField>
                <reportElement x="180" y="10" width="200" height="30" uuid="2e998ea5-70a4-46a0-a627-b655546dd800"/>
                <textElement textAlignment="Center" verticalAlignment="Middle">
                    <font size="16" isBold="true"/>
                </textElement>
                <textFieldExpression><![CDATA[$F{clinic_name}]]></textFieldExpression>
            </textField>
            <image >
                <reportElement x="5" y="5" width="40" height="40" uuid="e8b39492-2f94-4e0c-a970-3aafa03a3dc9"/>
                <imageExpression class="java.io.InputStream"><![CDATA[$P{Image}]]></imageExpression>
            </image>
        </band>
    </title>
    <pageHeader>
        <band height="37" splitType="Stretch">
            <staticText>
                <reportElement x="199" y="0" width="164" height="30" uuid="cb55a61e-a4a4-40f5-a1de-e82e038ed4a1"/>
                <textElement textAlignment="Center" verticalAlignment="Middle">
                    <font size="14" isBold="true"/>
                </textElement>
                <text><![CDATA[Doctor Appointment]]></text>
            </staticText>
        </band>
    </pageHeader>
    <columnHeader>
        <band splitType="Stretch"/>
    </columnHeader>
    <detail>
        <band height="83" splitType="Stretch">
            <componentElement>
                <reportElement x="3" y="11" width="550" height="60" uuid="c70d91e4-ae4e-44d3-926c-6a6627a502a7">
                    <property name="com.jaspersoft.studio.layout" value="com.jaspersoft.studio.editor.layout.VerticalRowLayout"/>
                    <property name="com.jaspersoft.studio.table.style.table_header" value="Table_TH"/>
                    <property name="com.jaspersoft.studio.table.style.column_header" value="Table_CH"/>
                    <property name="com.jaspersoft.studio.table.style.detail" value="Table_TD"/>
                </reportElement>
                <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">
                    <datasetRun subDataset="dataset" uuid="75bd3e83-975c-4719-b1de-d6f6f66d0256">
                        <datasetParameter name="REPORT_DATA_SOURCE">
                            <datasetParameterExpression><![CDATA[$P{REPORT_DATA_SOURCE}]]></datasetParameterExpression>
                        </datasetParameter>
                    </datasetRun>
                    <jr:column width="140" uuid="1c8bb7c9-c387-4905-95c0-e4afe5421355">
                        <property name="com.jaspersoft.studio.components.table.model.column.name" value="Column1"/>
                        <jr:columnHeader style="Table_CH" height="30" rowSpan="1">
                            <staticText>
                                <reportElement x="0" y="0" width="140" height="30" uuid="17b976bd-3434-4ab2-be8c-8d26c89c6f9b"/>
                                <textElement textAlignment="Center" verticalAlignment="Middle"/>
                                <text><![CDATA[Patient ID]]></text>
                            </staticText>
                        </jr:columnHeader>
                        <jr:detailCell style="Table_TD" height="30">
                            <textField>
                                <reportElement x="0" y="0" width="140" height="30" uuid="96797125-43b3-4736-8ceb-1eb465f312ba"/>
                                <textElement textAlignment="Center" verticalAlignment="Middle"/>
                                <textFieldExpression><![CDATA[$F{patient_pid}]]></textFieldExpression>
                            </textField>
                        </jr:detailCell>
                    </jr:column>
                    <jr:column width="170" uuid="cc0ebf66-9463-490a-815c-016fc08a7a9a">
                        <property name="com.jaspersoft.studio.components.table.model.column.name" value="Column2"/>
                        <jr:columnHeader style="Table_CH" height="30" rowSpan="1">
                            <staticText>
                                <reportElement x="0" y="0" width="170" height="30" uuid="491a3bcd-0c94-4c94-a3be-3ffd3dc77e2d"/>
                                <textElement textAlignment="Center" verticalAlignment="Middle"/>
                                <text><![CDATA[Patient Name]]></text>
                            </staticText>
                        </jr:columnHeader>
                        <jr:detailCell style="Table_TD" height="30">
                            <textField>
                                <reportElement x="0" y="0" width="170" height="30" uuid="437e030e-9494-4cca-9c18-5acdd62b13c9"/>
                                <textElement textAlignment="Center" verticalAlignment="Middle"/>
                                <textFieldExpression><![CDATA[$F{name}]]></textFieldExpression>
                            </textField>
                        </jr:detailCell>
                    </jr:column>
                    <jr:column width="120" uuid="67912108-963e-4d15-88a1-ff5a586e1e9f">
                        <property name="com.jaspersoft.studio.components.table.model.column.name" value="Column3"/>
                        <jr:columnHeader style="Table_CH" height="30" rowSpan="1">
                            <staticText>
                                <reportElement x="0" y="0" width="120" height="30" uuid="4e55d83d-7b00-43fe-8c9c-3e683f4ae4c2"/>
                                <textElement textAlignment="Center" verticalAlignment="Middle"/>
                                <text><![CDATA[Appointment Time]]></text>
                            </staticText>
                        </jr:columnHeader>
                        <jr:detailCell style="Table_TD" height="30">
                            <textField>
                                <reportElement x="0" y="0" width="120" height="30" uuid="aa74391c-3274-49e3-9582-236d973dcc0a"/>
                                <textElement textAlignment="Center" verticalAlignment="Middle"/>
                                <textFieldExpression><![CDATA[$F{time}]]></textFieldExpression>
                            </textField>
                        </jr:detailCell>
                    </jr:column>
                    <jr:column width="120" uuid="fd70d834-7bfe-49cf-8757-ffd91af0c4e2">
                        <property name="com.jaspersoft.studio.components.table.model.column.name" value="Column4"/>
                        <jr:columnHeader style="Table_CH" height="30" rowSpan="1">
                            <staticText>
                                <reportElement x="0" y="0" width="120" height="30" uuid="ead684cb-872c-424c-aa55-d4e5f4e3da57"/>
                                <textElement textAlignment="Center" verticalAlignment="Middle"/>
                                <text><![CDATA[Visit Date]]></text>
                            </staticText>
                        </jr:columnHeader>
                        <jr:detailCell style="Table_TD" height="30">
                            <textField>
                                <reportElement x="0" y="0" width="120" height="30" uuid="b923d0bf-2df9-442a-94bc-011413c4e7f1"/>
                                <textElement textAlignment="Center" verticalAlignment="Middle"/>
                                <textFieldExpression><![CDATA[$F{dov}]]></textFieldExpression>
                            </textField>
                        </jr:detailCell>
                    </jr:column>
                </jr:table>
            </componentElement>

        </band>
    </detail>
    <columnFooter>
        <band splitType="Stretch"/>
    </columnFooter>
    <pageFooter>
        <band height="73" splitType="Stretch"/>

    </pageFooter>
    <summary>
        <band height="42" splitType="Stretch"/>
    </summary>
</jasperReport>

这是我的java控制器代码:

  @RequestMapping(value = ClinicRestURIConstants.APPOINTMENTREPORT, method = RequestMethod.GET)
   public byte[] appointmentReport(HttpServletRequest request, HttpServletResponse response,@PathVariable Integer clinic_id,@PathVariable Integer branch_id,@PathVariable Integer doctor_id)
           throws JRException,IOException,DocumentException,SAXException {

       List<Appointment> appointmentList;
       appointmentList = appointmentreportservice.appReport(clinic_id,branch_id,doctor_id);

       String reportLocation ="E:\\ClinicManagementNew\\Clinic\\src\\main\\webapp\\static\\jrxml\\appointmentReport.jrxml";

       JasperReport jasperReport = JasperCompileManager.compileReport(reportLocation);

       File image = new File("E:\\ClinicManagementNew\\Clinic\\src\\main\\webapp\\static\\img\\logo.png");
       FileInputStream path = new FileInputStream(image);

       HashMap map = new HashMap();
       map.put("Image",path);

       if (jasperReport != null) {

           JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, map, new JRBeanCollectionDataSource(appointmentList));
           response.setHeader("Content-disposition","inline; filename = Report.pdf");
           OutputStream outputStream = response.getOutputStream();

           JRPdfExporter exporter = new JRPdfExporter();
           exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
           exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, outputStream);
           exporter.exportReport();
       }
       return null;
   }
@RequestMapping(value=clinicresturictants.APPOINTMENTREPORT,method=RequestMethod.GET)
公共字节[]任命报告(HttpServletRequest请求、HttpServletResponse响应、@PathVariable Integer诊所id、@PathVariable Integer分支机构id、@PathVariable Integer医生id)
抛出JRException、IOException、DocumentException、SAXException{
名单任命名单;
appointmentList=appointmentreportservice.appReport(诊所id、分支机构id、医生id);
String reportLocation=“E:\\ClinicManagementNew\\Clinic\\src\\main\\webapp\\static\\jrxml\\appointmentReport.jrxml”;
JasperReport-JasperReport=JasperCompileManager.compileReport(报告位置);
File image=new文件(“E:\\ClinicManagementNew\\Clinic\\src\\main\\webapp\\static\\img\\logo.png”);
FileInputStream路径=新的FileInputStream(图像);
HashMap=newHashMap();
地图放置(“图像”,路径);
if(jasperReport!=null){
JasperPrint JasperPrint=JasperFillManager.fillReport(jasperReport,map,新的JRBeanCollectionDataSource(appointmentList));
setHeader(“内容处置”,“内联;文件名=Report.pdf”);
OutputStream OutputStream=response.getOutputStream();
JRPdfExporter exporter=新的JRPdfExporter();
exporter.setParameter(jreporterParameter.JASPER_PRINT,jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT\u流,outputStream);
出口商。出口报告();
}
返回null;
}
此java列表返回两行,但pdf中只显示一行。如何显示该pdf中的第一行

请大家帮我解决这个问题。提前感谢。

在Jasper工作室

  • 创建一个名为“MyDS”的参数,类型为net.sf.jasperreports.engine.data.JRBeanCollectionDataSource。
  • 在表数据集中选择“不使用任何连接或数据源”,并选择前面的“MyDS”作为报告数据源。
在java代码中添加列表“appointmentList”作为参数

map.put("MyDS",appointmentList);
贾斯珀工作室

  • 创建一个名为“MyDS”的参数,类型为net.sf.jasperreports.engine.data.JRBeanCollectionDataSource。
  • 在表数据集中选择“不使用任何连接或数据源”,并选择前面的“MyDS”作为报告数据源。
在java代码中添加yo