То, что я пытаюсь сделать, на вид просто.
У меня есть основной отчет, включающий элемент подотчета. Подотчет заполняется из JRAbstractBeanDataSource
, в котором содержится коллекция из 0-n подотчетов.
В основном отчете подотчет находится с:
<subreportExpression class="java.lang.String"><![CDATA[$P{SUBREPORT_DIR} + $F{subReportFileName}]]></subreportExpression>
Это отлично работает, SUBREPORT_DIR передается в качестве параметра источнику данных в коде.
Что мне нужно сделать, так это выбрать другое имя отчета, основанное на свойствах подотчета, например:
<subreportExpression class="java.lang.String"><![CDATA[$P{SUBREPORT_DIR} + "$F{subReportFileName}"]]></subreportExpression>
То есть, разрешите каждому элементу в коллекции данных подотчета в источнике данных указать, каким будет имя файла .jasper
(то есть, разрешите ему выбирать, какой подотчет использовать).
Может быть, есть лучший способ обдумать / приблизиться к этому.