在我的一个报告要求中,我需要显示包含自定义数据的多行。
对于自定义数据,我使用了REPORT_SCRIPTLET功能,该功能使用数据对象填充List。直到这一点,一切正常。
如何将上面填充的List传递给JRXML,并迭代行以在报告中显示它们?
我搜索并发现了一些帖子,根据它们,我应该使用SubReport和JR数据源。
请帮助实现目标。我无法找到上述问题的具体样本或语法。
提前致谢!!
此致
拉瓦特
感谢您提供该片段。
显然,我也使用相同的语法,但我对“listNameWhatEverYouWantToPass”感到困惑。
在我的例子中,“listNameWhatEverYouWantToPass”是一个对象列表,表示Class TestObject有4个带有setter和getter方法的字段。
在JRXML中定义为
<variable name="listNameWhatEverYouWantToPass" class="java.util.List" calculation="System"/>
List<TestObject> testList = new List<TestObject> () ; // Is it correct??
// add TestObjects to the list
this.setVariable("listNameWhatEverYouWantToPass",testList);
如何从subreport.jasper中的List中的单个对象访问数据?
谢谢,
拉瓦特
答案 0 :(得分:0)
这是主报告中添加子报告的代码。
<subreport>
<reportElement uuid="cb31b535-0484-4a63-a1af-b6737d937474" positionType="Float" x="0" y="60" width="515" height="15"/>
<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource(listNameWhatEverYouWantToPass)]]></dataSourceExpression>
<subreportExpression><![CDATA["/path/to/subreport.jasper"]]></subreportExpression>
</subreport>
希望它会对你有所帮助。