[英]JasperReport : net.sf.jasperreports.engine.JRException
[英]net.sf.jasperreports.engine.JRException: Invalid page index range : 0 - -1 of 0
當我嘗試打印 Jasper 報告時,它收到消息:“net.sf.jasperreports.engine.JRException:無效的頁面索引范圍:0 - -1 of 0”。
代碼:
try {
JasperPrint impressao = JasperFillManager.fillReport(getClass().getClassLoader().getResourceAsStream("example.jasper"), parametros);
JasperExportManager.exportReportToPdf(impressao);
JasperPrintManager.printReport(impressao, true);
} catch (JRException e) {
e.printStackTrace();
}
報告:
<?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="base-estadual" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="9cbb7afc-abb5-4207-a29b-a0c7adde7df6">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="250"/>
<import value="com.myproject.ed.*"/>
<parameter name="PATH_IMAGENS" class="java.lang.String"/>
<queryString>
<![CDATA[]]>
</queryString>
<background>
<band splitType="Stretch"/>
</background>
<pageHeader>
<band height="63">
<textField evaluationTime="Report">
<reportElement x="515" y="16" width="40" height="20" uuid="3892152b-6880-41da-bbc7-7bf79588061d"/>
<textFieldExpression><![CDATA[" " + $V{PAGE_NUMBER}]]></textFieldExpression>
</textField>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA["Page "+$V{PAGE_NUMBER}+" of"]]>/textFieldExpression>
</textField>
</band>
</pageHeader>
有人可以幫我弄清楚為什么會這樣嗎?
JasperFillManager喜歡獲取數據源,即使你真的沒有。 您可以嘗試將空數據源作為第三個參數添加到JasperFillManager.fillReport:
JasperPrint impressao = JasperFillManager.fillReport(getClass().getClassLoader().getResourceAsStream("example.jasper"), parametros, new JREmptyDataSource());
檢查您傳遞給JasperFillManager.fillReport()
的參數是否不為空或不為空。 如果它為空或 null,那么您將收到同樣的錯誤。
JasperPrint impressao = JasperFillManager.fillReport(getClass().getClassLoader().getResourceAsStream("example.jasper"), parametros);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.