Как создать jrxml для вложенных отчетов

#jasper-reports #subreport

#jasper-отчеты #вложенный отчет

Вопрос:

Я хочу создать сложный файл jrxml для создания PDF.

Я хочу поместить другой jrxml в свой файл jrxml.

Итак .. мой вопрос в том, как поместить один jrxml в другой jrxml

Моими файлами jrxml являются: salesreport.jrxml, financialreport.jrxml и report.jrxml

Я хочу поместить salesreport.jrxml и financialreport.jrxml в report.jrxml.

Ответ №1:

Обычно вы разрабатываете отчеты с помощью iReport.

iReport предоставляет средства для включения вложенных отчетов в отчеты (путем перетаскивания значка вложенного отчета на страницу основного отчета).

Обратите внимание, что JasperReports использует абсолютные пути для ссылок на файлы. Я бы рекомендовал вам настроить параметры для ваших отчетов следующим образом:

 $P{ROOT_DIR}
$P{SUBREPORT_DIR}
  

Укажите $P{SUBREPORT_DIR} значение по умолчанию $P{ROOT_DIR} "subreports/" .

На этом этапе вы можете передать в свой отчет абсолютный путь как $P{ROOT_DIR} , и тогда вложенные отчеты будут сохранены в подкаталоге с именем subreports , который находится в $P{ROOT_DIR} .

Комментарии:

1. Создание вложенного отчета кажется излишним, когда вы хотите включить заголовок только в несколько отчетов PDF. Нет ли чего-либо аналогичного инструкции include в jrxml, которую вы могли бы использовать для включения одной аннотации jrxml в несколько других документов?

Ответ №2:

Или используйте класс JasperCompileManager из основного файла jrxml для его динамической компиляции.

 <subreportExpression><![CDATA[JasperCompileManager.compileReport($P{SUBREPORT_DIR} "/myFile.jrxml")]]></subreportExpression>