修复 iReport 中的子报表表达式 Class
Fix Subreport Expression Class in iReport
最近我在使用 JavaBeans 数据源打印主从报告时遇到了问题(由于某些原因我没有使用 MySQL 数据源)。
我无法将子报表的表达式class更改为java.util.List(我已经制作了subreport.jrxml和mainreport.jrxml)。但是如下图所示,我的子报表属性中不存在 class 表达式。
然后我尝试手动编写它。我将这些代码添加到我的 XML 文件中。
<subreport>
<reportElement x="0" y="20" width="555" height="100"/>
<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{orderDetails})]]></dataSourceExpression>
<subreportExpression class="java.util.List"><![CDATA[$P{SUBREPORT_DIR} + "sub_main_report.jasper"]]></subreportExpression>
</subreport>
现在显示另一个类似这样的错误。
抱歉,如果我解释得不好。这里有没有人和我有同样的问题?
注意:我的iReport版本是4.0.1,JDK 1.7 运行 Linux Ubuntu 14.04 64位环境
subreportExpression
只能和少数类一起使用,比如java.lang.String
。不能是java.util.List
。您的第二条错误消息显示已接受的列表 类.
更新
你要明白,subreportExpression
告诉系统如何载入子报表。只能有一个值。所以表达式不能是 java.util.List
。如果您有多个子报表,则必须有多个 subreport
的元素,每个元素都有自己的 subreportExpression
。
最近我在使用 JavaBeans 数据源打印主从报告时遇到了问题(由于某些原因我没有使用 MySQL 数据源)。
我无法将子报表的表达式class更改为java.util.List(我已经制作了subreport.jrxml和mainreport.jrxml)。但是如下图所示,我的子报表属性中不存在 class 表达式。
然后我尝试手动编写它。我将这些代码添加到我的 XML 文件中。
<subreport>
<reportElement x="0" y="20" width="555" height="100"/>
<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{orderDetails})]]></dataSourceExpression>
<subreportExpression class="java.util.List"><![CDATA[$P{SUBREPORT_DIR} + "sub_main_report.jasper"]]></subreportExpression>
</subreport>
现在显示另一个类似这样的错误。
抱歉,如果我解释得不好。这里有没有人和我有同样的问题?
注意:我的iReport版本是4.0.1,JDK 1.7 运行 Linux Ubuntu 14.04 64位环境
subreportExpression
只能和少数类一起使用,比如java.lang.String
。不能是java.util.List
。您的第二条错误消息显示已接受的列表 类.
更新
你要明白,subreportExpression
告诉系统如何载入子报表。只能有一个值。所以表达式不能是 java.util.List
。如果您有多个子报表,则必须有多个 subreport
的元素,每个元素都有自己的 subreportExpression
。