JasperReports iReport中的摘要乐队

时间:2011-11-30 02:42:29

标签: jasper-reports ireport

我有一个类似于员工工作日志的报告。为每个员工创建一个组,其中包含已完成的所有工作的逐项列表。在每个员工的最后,工作总时数和获得的金额显示在组页脚区域中。在整个报告结束时,将显示所有员工的总小时数和收入。

我还有一份单独的报告,它是相同信息的摘要,但没有详细信息。该报告列出了员工,工作小时数和表格每行的总收入。这基本上与另一个报表的“组页脚”中显示的信息相同。

两个报告中都使用相同的SQL命令。我想将它们组合成一个报告,首先生成一个逐项列出的工作日志,然后在最后生成一个详细的摘要。但是我看不到这样做的方法。

实际上,也许我可以将我的两个报告都转换为子报告并创建一个包含两者的主报告。这是最好的方法吗?或者有更好的解决方案吗?

1 个答案:

答案 0 :(得分:1)

你当然可以将它们放在同一份报告中。

您需要运行两次SQL查询。†将您的摘要报告作为子报告放入详细报告的摘要带中将是最简单的解决方案。您将使用相同的SQL连接,然后子报表将运行自己的查询(恰好与主报表中的查询相同)。

替代解决方案包括:

  • 一个几乎为空的主要报告,包含两个子报告。这对于复杂报告来说是一个很好的解决方案。但是考虑到你的要求,它会带来更多的工作而没有任何好处。

  • 在摘要波段而不是子报表中使用表组件(或列表组件)。我一般都喜欢这个。如果您还没有创建两个报告,我可能会建议这样做。但是,将您的报告重新编写为表格组件将再次成为额外的工作而没有任何实际好处。

†这不是一项基本要求。如果您确定SQL查询的运行时间非常长且无法进一步调整,那么一定可以在一次通过结果集中完成所有操作。只需要额外的聪明才能捕获单个迭代中所需的所有信息,然后将其显示在摘要中。这比其他变种要多得多。