我目前正在尝试使用iReports 5.6.0根据字段“类型”将数据分组在一起。似乎可行,但将组分散到不同的位置,请参见以下示例:

怎么了

ID      Name    Location   Type  Cost
1       C1       FRA        Car    2k
2       C1       FRA        Car    2k
3       Transit  USA        Van    10K
4       Custom   USA        Van    20K
5       C2       FRA        Car    4K


预期结果:

 Example Data
ID      Name    Location   Type  Cost
1       C1       FRA        Car    2k
2       C1       FRA        Car    2k
5       C2       FRA        Car    4K
3       Transit  USA        Van    10K
4       Custom   USA        Van    20K


我希望数据出来,因为下面的预期结果而不是分组似乎被拆分了(我认为这是订单数据从应用程序馈送到报表中)

我尝试使用“保持在一起”选项,但在这种情况下似乎不起作用。

最佳答案

在Jasper Report中使用分组以获取正确的输出数据时
需要根据使用的组表达式进行排序。


参见:Grouping Data in JasperReports

您可以通过以下任一方法实现此目的:

通过查询ORDER BY或如果使用自定义数据源(例如Collections.sort())对数据源进行排序

要么

在报告中使用<sortField/>元素,例如<sortField name="myField"/>


在iReport IDE中,打开“报表查询”对话框的“编辑查询”,然后单击“排序选项...”按钮(界面底部)
在JasperSoft Studio中,打开数据集和查询对话框,在底部找到“订单”标签,然后添加您的字段

10-06 05:39