大家,在我解释我的问题之前,我会告诉你我想要解释的是什么。
我正在尝试创建一个显示用户不同收入的子报表。 用户可以收到多个捐款,已售出多个房屋/房产,赢得竞赛等。所有这些行动都有更多关于他们收到多少钱,缴纳税款的细节......
现在我试图在一个细节中显示用户的详细信息(姓名,姓氏,...;)。这有效。 下一个细节乐队将是捐款。我创建了一个子报表,我在其中指定了此部分的布局。但是,此子报表所需的数据源与主报表中的数据源不同。有没有办法将新数据源(JSON)传递给我的子报表或传递从我的原始数据源中提取的列表对象,以便只重复我的捐赠细节带? 另一个数据源(或来自我的主报告数据源的列表)为每个选项重复销售细节带等等。
最终布局看起来像这样:
用户信息
捐赠信息
捐赠信息
销售信息
销售信息
销售信息
销售信息
LOTTERY INFO
LOTTERY INFO
LOTTERY INFO
FOOTER
提前致谢!
答案 0 :(得分:3)
答案可能会迟到,但我认为这对某人有帮助,
如果您的JSON包含完整数据,并且您想将一组特定数据传递给子报告,则可以通过以下方式传递,
例如: 你的JSON,
{
"User": {
"PersonalInfo": {
"Name": "Jef",
"Country": "US"
},
"Donation": {
"JustinWelfare": "10000",
"DonationToWife": "50000"
},
"Sales": { "Some1": "some1" },
"Lottery": { "Lot1": "lot1" }
}
}
您可以将捐款json传递给下面的子报告,
((net.sf.jasperreports.engine.data.JsonDataSource)$P{REPORT_DATA_SOURCE}).subDataSource("Donation")