动态列

Gra*_*ham 8 jasper-reports ireport

我需要创建一个报告,其中列数根据传递给iReport的数据而变化,就像子报表一样.有没有办法做到这一点?

小智 4

我同意 Ischin 的回答,但我会详细说明。

交叉表报告将允许您拥有动态列,因为它允许您旋转数据。您可以选择一个或多个字段作为分组依据来创建列。组的值成为列的标签,然后您必须对报告中称为“度量”的值使用聚合函数(例如,总和或计数)。如果您选择多个字段,您将拥有多个级别的列。当您设计报表时,您可以选择列的大小——它们必须具有相同的大小。

JasperReports 是一款旨在创建能够一致打印在纸上的内容的产品,例如 PDF。iReport 至少从 5.1.0 版本开始,没有任何其他方法可以真正动态创建列。您可以编写逻辑来根据参数显示或隐藏列,但这将非常乏味,并且不符合 JasperReports 的设计目的。例如,允许运行报告的用户选择允许用户控制报告中的列以及列的位置的参数将是非常困难的。