$P{REPORT_CONNECTION}
- это соединение с базой данных JDBC, поскольку вы используете "источник данных Java Bean", вам не следует передавать соединение с базой данных, а вместо этого JRDatasource
.
Передача источника данных в кросс-таблицусделано путем указания dataSourceExpression
<crosstabDataset>
<dataset>
<datasetRun subDataset="Dataset1" uuid="bcc868c0-ea35-4a17-b570-2d51dbe93e8d">
<dataSourceExpression><![CDATA[$P{REPORT_DATA_SOURCE}]]></dataSourceExpression>
</datasetRun>
</dataset>
</crosstabDataset>
Однако
Если вы хотите использовать текущий источник данных основного отчета (как указано выше), вы можете просто не указывать никакихнабор данных или соединение, это будет автоматически использовать основной источник данных, и нет необходимости определять под-набор данных.
, но ,
Вы должны быть осторожны, JRDatasource
"потребляется", когда он заполняется, следовательно, если вы уже использовали его один раз (полоса детализации присутствует в jrxml), он потребляется. Чтобы лучше это понять, см., Например, Как использовать один и тот же JRBeanCollectionDataSource для нескольких вложенных отчетов?