我在设计以下 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
有任何线索如何解决这个问题?
答案 0 :(得分:0)
我们必须在ireports中使用交叉表来获取动态列