【发布时间】:2016-11-18 16:16:09
【问题描述】:
我是 Jasper Report 的新手,我使用 JSON 作为数据源。我有以下数据集,作为示例。
{"Northwind": {
"Customers": [
...
],
"Orders": [
{
"ShipPostalCode": 51100,
"ShippedDate": "1996-07-16",
"OrderDate": "1996-07-04",
"OrderID": 10248,
"Freight": 32.38,
"RequiredDate": "1996-08-01",
"ShipCity": "Berlin",
"ShipCountry": "Germany",
"EmployeeID": 5,
"ShipVia": 3,
"CustomerID": "ALFKI",
"ShipAddress": "59 rue de l'Abbaye",
"ShipName": "Vins et alcools Chevalier"
},
...
{
"ShipPostalCode": 44087,
"ShippedDate": "1996-07-10",
"OrderDate": "1996-07-05",
"OrderID": 10249,
"Freight": 11.61,
"RequiredDate": "1996-08-16",
"ShipCity": "Munich",
"ShipCountry": "Germany",
"EmployeeID": 6,
"ShipVia": 1,
"CustomerID": "RATTC",
"ShipAddress": "Luisenstr. 48",
"ShipName": "Martinez Gonzalez"
}
我将ShipCountry 作为参数传递给我的子报表,它正在正常工作。
但是,我的模板两次显示相同的数据,因为它每次都为我的子集中的每个对象循环我的数据集。 如何按国家/地区分组我的订单?我怎样才能使它不显示重复?像这样:
我在 GitHub 上的 country_orders_report.jrxml 和 country_order_list.jrxml 代码。而my whole data,非常小:)
希望有帮助!
【问题讨论】:
-
@AlexK 谢谢你的链接,但我还不明白:(对不起,我是 Jasper Reports 的新手。
-
您可以在 ShipCountry 上创建组并将子报表放置到 groupHeader 带,例如
-
@AlexK 非常感谢您的建议!有效!结果如下:github.com/valterhenrique/reports/blob/stackoverflow_40654817/…
标签: json jasper-reports subreport