Jasper 报告中具有不同 table 内容的多个页面
Multiple Pages in Jasper Report with different table contents
伙计们。我一直在使用 java、MySQL 和 TIBCO Jasper Studio 开发一个学校管理系统。但是我在生成报告时卡在了某个点上。
这是我的场景。
我有两个 table 叫做 "Student Details" 和 "Student Results"。
在学生详细信息中得到 "Student ID, Student Name" 进一步的学生结果得到 "Student ID, Subject Name, Grade"。
- 事实上,我已经成功地在 Jasper Studio 中使用 Java 显示 his/her 考试成绩的代码在 Jasper Studio 的单页中填充数据。
- 虽然,我真正的要求是当我给一系列学生时,我想为给定范围的学生填充多页的 Jasper 报告,以在每一页中显示他们的考试结果(成绩)作为图片。
- 我是如何设法为每个学生分别填充每个页面的。虽然我 select 的所有学生的成绩都显示在第一个学生的第一页中,而不显示其他学生的页面。
我将数据填充到报表的方法是用于报表页面和报表的 JRTableModelDataSource table。
尝试以下解决方案,
将SQL查询中Student ID使用的数据集简写如下,
SELECT student_details.student_id, student_details.student_name, student_results.subject, student_results.grade FROM student_details INNER JOIN student_results ON student_details.student_id = student_results.student_id ORDER BY student_details.student_id
根据 student_id
字段创建一个组并将 isStartNewPage
属性 设置为 true,
student_id
字段
<field name="student_id" class="java.lang.Integer">
......
</field>
组 student_id
<group name="student_id" isStartNewPage="true">
<groupExpression><![CDATA[$F{student_id}]]></groupExpression>
</group>
伙计们。我一直在使用 java、MySQL 和 TIBCO Jasper Studio 开发一个学校管理系统。但是我在生成报告时卡在了某个点上。 这是我的场景。
我有两个 table 叫做 "Student Details" 和 "Student Results"。
在学生详细信息中得到 "Student ID, Student Name" 进一步的学生结果得到 "Student ID, Subject Name, Grade"。
- 事实上,我已经成功地在 Jasper Studio 中使用 Java 显示 his/her 考试成绩的代码在 Jasper Studio 的单页中填充数据。
- 虽然,我真正的要求是当我给一系列学生时,我想为给定范围的学生填充多页的 Jasper 报告,以在每一页中显示他们的考试结果(成绩)作为图片。
- 我是如何设法为每个学生分别填充每个页面的。虽然我 select 的所有学生的成绩都显示在第一个学生的第一页中,而不显示其他学生的页面。
我将数据填充到报表的方法是用于报表页面和报表的 JRTableModelDataSource table。
尝试以下解决方案,
将SQL查询中Student ID使用的数据集简写如下,
SELECT student_details.student_id, student_details.student_name, student_results.subject, student_results.grade FROM student_details INNER JOIN student_results ON student_details.student_id = student_results.student_id ORDER BY student_details.student_id
根据 student_id
字段创建一个组并将 isStartNewPage
属性 设置为 true,
student_id
字段
<field name="student_id" class="java.lang.Integer">
......
</field>
组 student_id
<group name="student_id" isStartNewPage="true">
<groupExpression><![CDATA[$F{student_id}]]></groupExpression>
</group>