3

在我的报告要求之一中,我需要显示包含自定义数据的多行。

对于自定义数据,我使用了 REPORT_SCRIPTLET 功能,它用数据对象填充列表。至此,一切正常。

如何将上面填充的列表传递给 JRXML,并遍历行以在报告中显示它们?

我确实搜索并发现了一些帖子,根据它们,我应该将 SubReport 与 JR 数据源一起使用。

请帮助实现目标。我无法找到上述问题的具体示例或语法。

提前致谢!!

问候,

拉瓦特


谢谢你的片段。

显然,我也使用相同的语法,但我对“listNameWhatEverYouWantToPass”感到困惑。

在我的例子中,“listNameWhatEverYouWantToPass”是一个对象列表,表示类 TestObject 有 4 个字段和 setter 和 getter 方法。

它在 JRXML 中定义为

<variable name="listNameWhatEverYouWantToPass" class="java.util.List" calculation="System"/>

"listNameWhatEverYouWantToPass" 将由 afterGroupInit 函数中的 Scriptlet 类设置为

List<TestObject> testList = new List<TestObject> () ; // Is it correct?? 

// add TestObjects to the list 

this.setVariable("listNameWhatEverYouWantToPass",testList);

如何从 subreport.jasper 的列表中访问单个对象的数据?

谢谢,

拉瓦特

4

1 回答 1

1

这是在主报告中添加子报告的代码。

<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>

希望它会帮助你。

于 2013-09-25T07:49:55.070 回答