JasperReports - 如何处理嵌套对象集合

时间:2015-01-05 10:13:02

标签: jasper-reports nested-loops

我是Java开发人员已经有两年了但是我是Jasper的新手,所以我需要一些帮助,我知道如何处理来自某个类或实体的字段的简单报告,但现在我必须更加努力

我有这3个实体:

组 功能 特权

该组可能有一个功能列表,一个功能有一个列表oc权限,这是最简单的方案,但一个组可能有一个其他组的列表而不是一个功能列表。

简单示例:Group1 - > (Function1 [Privilege1,Privilege2],Function2 [Privilege3,Privilege4] - Group1得到一个包含2个函数的列表,每个函数有2个权限。

复杂的例子:Group2 - > (Group1 - > [Function1 {Privilege1,Privilege2},Function2 {Privilege3,Privilege4}],Group3 - > [FunctionX {Privilege1,Privilege2},FunctionY ... - Group 2得到一个包含2个子组的列表,每个子组小组得到了功能等等。

要构建报告,我以前只向Jasper发送一个对象,在这种情况下是父组,所以我相信我需要一种方法来遍历其列表,但我不知道什么是最好的方法。

我对小组和子报告进行了一些研究,但我找不到任何类似的情况,我无法弄清楚什么是我需要做的最好的。

一些帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

我创建jasper报告,将一个对象作为参数或字段传递。 假设一个文件结构

com.project.MyClass,我们传递MyClass的对象 无论你想要什么,这个对象都作为参数或数据源传递。

假设myClass是对象

如果传递一个单个对象,则必须将表达式类java.lang.String更改为jasper中的com.project.MyClass。

现在您可以以$ F {myClass} .getMethodName()

的形式访问您的对象

你也可以使用$ F {myClass} .getMethodName()。getSubmethodName()

这是100%的工作。我将它用于我的所有报告。如果您需要任何帮助,请询问。