Java jasper表格第一行未显示在pdf中
尝试用java生成pdf时,java列表的第一个数据不会显示在Jasper report中。 我的JRXML代码: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
<?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”作为报告数据源。
map.put("MyDS",appointmentList);
贾斯珀工作室
- 创建一个名为“MyDS”的参数,类型为net.sf.jasperreports.engine.data.JRBeanCollectionDataSource。
- 在表数据集中选择“不使用任何连接或数据源”,并选择前面的“MyDS”作为报告数据源。