私のデータソースは次のようなものです:
final Collection<Map<String, ?>> summaryList = new ArrayList<Map<String, ?>>();
parameters.put("P_SUBREPORT", new JRMapCollectionDataSource(summaryList));
コレクションにはマップが 1 つしかなく、このハッシュマップには必要なすべての情報が含まれています。
「?」を知って、iReport でその情報にアクセスするにはどうすればよいですか? たとえば、「名前」や「時間」などのフィールドを持つ通常のPOJOですか?
私は私のmasterReportにこれを持っています:
<subreport>
<reportElement stretchType="RelativeToBandHeight" x="0" y="21" width="802" height="58"/>
<dataSourceExpression><![CDATA[$P{P_SUBREPORT}]]></dataSourceExpression>
<subreportExpression><![CDATA["subReport.jasper"]]></subreportExpression>
</subreport>
サブレポートには何が含まれますか? 以下?
<field name="hours" class="java.lang.Double"/>
<field name="name" class="java.lang.String"/>