到目前为止,我一直受到jasper-reports的限制.
我只能在每个文档中编写一个数据查询.
当我需要编写另一个查询时,我必须创建一个子报表,传递它所需的参数等等.
但我绝对不相信这是做到这一点的好方法.
那么是否有另一种方法可以在单个jasper文档中触发多个数据查询?
我正在尝试使用Jasper iReport Designer 5.6.0生成一个报告,该报告包含其单元格内的列表.生成的表可能如下所示:
为此,我使用以下XML文件作为数据源:
<report>
<table>
<persons>
<person>
<id>111</id>
<name>John</name>
<addresses>
<address>Johan's Street 1</address>
<address>Johan's Street 2</address>
<address>Johan's Street 3</address>
</addresses>
</person>
<person>
<id>222</id>
<name>Marko</name>
<addresses>
<address>Marko's Street 1</address>
<address>Marko's Street 2</address>
</addresses>
</person>
<person>
<id>333</id>
<name>Tito</name>
<addresses>
<address>Tito's Street 1</address>
<address>Tito's Street 2</address>
<address>Tito's Street 3</address>
<address>Tito's Street 4</address>
</addresses>
</person>
</persons>
</table>
</report>
Run Code Online (Sandbox Code Playgroud)
和JRXML模板:
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="TableWithList" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="2347c131-1884-430a-b77f-59f08f896c8a">
<property name="ireport.zoom" value="1.0"/>
<property …Run Code Online (Sandbox Code Playgroud) 我需要像这样报告:
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 …Run Code Online (Sandbox Code Playgroud)