Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.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
Java 使用bean数据源和子报表获取JasperReports中生成的空白报表_Java_Jasper Reports - Fatal编程技术网

Java 使用bean数据源和子报表获取JasperReports中生成的空白报表

Java 使用bean数据源和子报表获取JasperReports中生成的空白报表,java,jasper-reports,Java,Jasper Reports,我正在创建JasperReports的报告,其中只有子报告 以下是我目前面临的情况 为了简化问题,让我们只考虑两个JasPr报告: 主报告和子报告文件1 我的主要报告jasper文件如下: <?xml version="1.0" encoding="UTF-8"?> <!-- Created with Jaspersoft Studio version 5.6.1.final using JasperReports Library version 5.6.1 -->

我正在创建JasperReports的报告,其中只有子报告

以下是我目前面临的情况

为了简化问题,让我们只考虑两个JasPr报告: 主报告和子报告文件1

我的主要报告jasper文件如下:

 <?xml version="1.0" encoding="UTF-8"?>
 <!-- Created with Jaspersoft Studio version 5.6.1.final using  JasperReports Library version 5.6.1  -->
 <!-- 2015-01-28T14:21:34 -->
 <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="mainReport" pageWidth="555" pageHeight="802" columnWidth="555" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0" uuid="84a1df53-5934-4d37-a3ae-44735dfd5dc3">
  <property name="com.jaspersoft.studio.unit." value="pixel"/>
  <property name="ireport.zoom" value="1.0"/>
  <property name="ireport.x" value="0"/>
  <property name="ireport.y" value="1936"/>
 <property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/>
 <parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false">
     <defaultValueExpression><![CDATA["/my/file/path/jaspers/"]]></defaultValueExpression>
  </parameter>
  <parameter name="customObjectList" class="java.util.List"/>
  <detail>
    <band height="181" splitType="Stretch">
        <subreport>
            <reportElement x="0" y="3" width="554" height="157" uuid="782c39a9-1617-403c-b997-36f5cb9cdefd"/>
            <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{malwareList})]]></dataSourceExpression>
            <subreportExpression><![CDATA["/my/file/path/jaspers/subreport.jasper"]]></subreportExpression>
        </subreport>
        </band>
    </detail>
 </jasperReport>
我在java文件中执行以下行,但仍然得到一个空白的pdf报告文件

  JasperRunManager.runReportToPdfFile(path, "/home/neeraj/test.pdf",
                parametersMap, new JREmptyDataSource());
参数映射包含我发送到子报表的列表。这就是我想做的。将bean列表的数据源发送到存在的其他子报表


哪里出了问题?

主报告不包含任何记录(JREPTYDATASOURCE),因此不会处理详细信息栏。未执行详细信息栏中的子报表

将子报表移动到标题栏中。并设置报告属性“当没有数据类型时”=“所有部分都没有详细信息”

PS Defined Used$p{malwareList}它没有定义。
  JasperRunManager.runReportToPdfFile(path, "/home/neeraj/test.pdf",
                parametersMap, new JREmptyDataSource());