Jasper 报告中具有不同 table 内容的多个页面

Multiple Pages in Jasper Report with different table contents

伙计们。我一直在使用 java、MySQL 和 TIBCO Jasper Studio 开发一个学校管理系统。但是我在生成报告时卡在了某个点上。 这是我的场景。

  1. 我有两个 table 叫做 "Student Details" 和 "Student Results"。

  2. 在学生详细信息中得到 "Student ID, Student Name" 进一步的学生结果得到 "Student ID, Subject Name, Grade"。

  3. 事实上,我已经成功地在 Jasper Studio 中使用 Java 显示 his/her 考试成绩的代码在 Jasper Studio 的单页中填充数据。
  4. 虽然,我真正的要求是当我给一系列学生时,我想为给定范围的学生填充多页的 Jasper 报告,以在每一页中显示他们的考试结果(成绩)作为图片。

  1. 我是如何设法为每个学生分别填充每个页面的。虽然我 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>