以水平顺序打印数据。动态列

时间:2014-06-23 17:15:30

标签: jasper-reports crosstab subreport

我在设计以下 JasperReports 格式时遇到了一些问题:

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

有两个表:

教师

Teacher_Id  Teacher_Name
1            Tom
2            Monique
3            Sofie

主题

Subject_Id  Subject_Name
  1            Phy
  2            Chem
  3            Bio
  4            Eng
Etc.... 

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

TeacherId         TeacherName                    Subjects

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

我使用子报告作为主题。并且能够通过指定列“20”和printOrder“水平”来水平增长主题列表。 但是使用这种方法,列可以水平打印,但不会水平生长。大小固定为20,因此留下了很多空白。 我不确定如何使主题列在水平方向上动态增长(动态列)。 我也尝试了subreport + list元素的选项,但没有成功。 Crosstabs是我没有尝试过的东西,我不确定它是否会成功。 如果我可以实现动态列,那么我可以瞄准下一级报告输出,它看起来如下所示:

TeacherId         TeacherName                         Subjects
                                   Physics        Chem          Bio      Eng

1                 Tom                Yes         
2                 Sofie                            Yes               
3                 Monique                                       Yes            

有任何线索如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我们必须在ireports中使用交叉表来获取动态列