水平打印子报告数据

时间:2014-06-16 10:02:45

标签: jasper-reports subreport

我有一个要求,我需要以水平顺序而不是垂直顺序打印子报表中的数据。

但是主数据仍然是按垂直顺序显示的。

报告演示如下所示,其中“主题”列将针对每条记录水平增长。

我已尝试将主题记录保存为主报表的子报表,但不会水平打印。

TeacherId         TeacherName        Subject1      Subject2     Subject3

1                 Tom                Physics        Chem          Bio
2                 Sofie              Eng            History       Geography
3                 Monique            Eng            Chem          Physics

检查了一些现有的答案,但没有任何线索。

任何帮助都会感激不尽。

1 个答案:

答案 0 :(得分:1)

如果能帮助任何人,我会分享为实现上述输出所做的更改:

  1. 创建要作为独立报告嵌入子报表的报表。
  2. 将printOrder更改为“horizo​​ntal”和列:n(其中n可以是大于1的任何值)
  3. 保存jrxml文件。
  4. 在主报告中添加子报告元素。添加时选择了“只需添加子报表元素”选项。
  5. 转到子报表元素的“属性”选项卡,执行以下更改,如下所示:

    Subreport Expression: $P{SUBREPORT_DIR}+"SubReportfileName.jasper"
    

    DataSourceExpression:new net.sf.jasperreportsengine.data.JRBeanCollectionDatasource($ F {subject})

  6. ,这里的主题是教师BO中作为关联出现的BO主题的字段名称。