muszę dokonać raport tak:Jak utworzyć wiele tabel w raporcie jaspra używając json jako źródła danych?
Product Name : Product XYZ
---------------------------------
| Item Name | Quantity | Price |
---------------------------------
| Item ABC | 10 | 10 $ |
| Item BCD | 10 | 1 $ |
Product Name : Product XYZ2
---------------------------------
| Item Name | Quantity | Price |
---------------------------------
| Item DEF | 15 | 10 $ |
| Item HIJ | 11 | 1 $ |
Summary Report
---------------------------------
| Product Name | Total Quantity |
---------------------------------
| Product XYZ | 20 |
| Product XYZ2 | 26 |
Pierwszym problemem jest to "produkt" Puszka 1 do wielu.
Drugi problem to muszę „Summary Report” w dolnym
Trzecim problemem jest to surowy raport dane pochodzą z json
, nie od zapytania do bazy danych.
Co to ja już spróbować:
stworzyć wiele tabeli produktu. Ale to się nie udało, ponieważ jaspis tworzy puste miejsce na nieużywany stół. I tabela podsumowująca na innej stronie z wieloma pustymi miejscami.
Podraporty, tak samo jak powyżej.
Czy możesz mi powiedzieć proszę, jak zrobić dynamicznie wiele stolików?
EDIT: próbka JSON
{"produkList": {
"items":[
{
"nameProduct": "Product XYZ",
"itemList": [{
"itemName": "XXXXXXX",
"quantity": 50,
"price": 50
},
{
"itemName": "YYYYYYY",
"quantity": 50,
"price": 50
},
{
"itemName": "ZZZZZZZZ",
"quantity": 50,
"price": 50
}]
},
{
"nameProduct": "Product XYZ2",
"itemList": [{
"itemName": "AAAAAAAA",
"quantity": 50,
"price": 50
},
{
"itemName": "BBBBBBB",
"quantity": 50,
"price": 50
},
{
"itemName": "CCCCCCC",
"quantity": 50,
"price": 50
}]
}
],
"summary":[
{
"title": "Summary Report",
"summaryReportDetailList": [{
"nameProduct": "Product XYZ",
"quantity": 150
},
{
"nameProduct": "Product XYZ2",
"quantity": 150
}]
}
]
}
}
hai Peter, próbuję twój przykład, ale dostaję ten błąd net.sf.jasperreports.engine.JRException: net.sf.jasperreports.engine.fill.JRExpressionEvalException: Błąd oceny wyrażenie dla tekstu źródłowego: ((netto .sf.jasperreports.engine.data.JsonDataSource) $ {P} REPORT_DATA_SOURCE) subDataSource ("ITEMLIST") Spowodowany przez:. java.lang.ClassCastException: net.sf.jasperreports.engine.JREmptyDataSource nie mogą być oddane do net.sf.jasperreports.engine.data.JsonDataSource – user2571094
Przekazujesz EmptyDataSource podczas procesu wypełniania, nie przekazuj żadnych danych do raportu. (JasperFillManager.fillReport (report, paramMap);) (źródło danych jest zdefiniowane w pliku main.jrxml ... zobacz