2011-07-05 86 views
3

我想创建在iREPORT分享到人人多个组,并将该数据应以按组地manner.For例如,显示: 首先组别1数据应当被完全打印,那么,多个组报告


组别1:


模块数据 此后,我要打印的组2数据完全

组2:


分类数据

我使用的结果集的数据源。

有人能帮助我吗?

回答

2

如果iReport中的组没有保留所有数据,请使用子报表。当Jasper得到一个子报表时,它会运行整个子报表并将整个事件放入报表中。你可能有这样的事情:

子报表1 - 第1组 1个第一个记录 1个第二个记录 第1组的第三个记录 ... 1组最后一个记录 子报表2 - 第2组 第2组第一个记录 2组第二个记录 第2组的第三个记录 ... 第2组的第三个记录

3

Jasper报表就以这种方式工作完全只要你的查询结果正确排序。

例如,假设您按照名为“MY_GROUP”的字段进行分组,并且其值为“GROUP A”和“GROUP B”。在您的报告中,您将为字段“MY_GROUP”创建一个组。在你的查询中,确保你的ORDER BY子句中有第一个字段是MY_GROUP。您也可以通过在“报告”查询的“排序选项”部分中添加“MY_GROUP”字段作为第一个字段,在iReports中完成此操作。

现在,您已将组和正确排序的结果会出来这样的:

头 - A组 细节 - A组 页脚 - A组 头 - B组 详细信息 - GROUP B Footer - GROUP B

正如你所愿。我的猜测是你没有正确地订购你的查询结果。这可能导致对于A组,B组等的多个分组全部穿插。

1

就像汤姆说的那样。 Jasper报告组不会对从查询中检索到的数据进行排序,他们只是按照它的顺序进行排序。

为了以分组方式显示信息,您必须向查询添加ORDER BY,以便报表接收的行已经排序。