2013-11-21 2 views
1

Кто-нибудь знает, можем ли мы установить глобальные переменные в основном отчете и использовать ли эти подзадачи в этих подзадачах?Глобальная переменная в iReport - SubReports Jasper

В моем случае у меня есть очень сложный отчет (Основной отчет и затем несколько суб-отчетов, то в этих подотчетов ... другие суб-суб-отчетов (3-5 уровней подобное).

Теперь мне пришло в голову, что мне нужно передать новую переменную из пользовательского ввода, и эта переменная должна использоваться несколькими вспомогательными отчетами.

Я знаю, что могу передавать переменные от Main к sub другим субпопуляциям, но это долгий процесс, который я пытаюсь избежать.

Любые идеи?

Спасибо за помощь!

ответ

2

В своем основном отчете создайте параметр; можно сказать, что это $P{main_parameter}

В подзаголовок создайте еще один параметр для обработки $P{main_parameter}; пусть это будет $P{subreport_parameter}

теперь mainreport у вас есть $P{main_parameter}

и подотчета у вас есть $P{subreport_parameter}

Finaly; в вашем mainreport щелкните правой кнопкой мыши по подзаголовку -> paramters -> add. Вот и все. Теперь вы можете передать параметр из основного отчета в подчиненный.

enter image description here

Не: быть осторожным обоим этим тип должен быть таким же, в противном случае вы получите ошибку

+0

Спасибо, но я пытаюсь найти, если есть другой способ сделать это, так как я» m имеют 10+ subreport, которые нелегко передать им так ... то, что я пытаюсь сделать, это посмотреть, есть ли способ иметь 1 объявленный в основном, и он доступен динамически в подсистемах – Tarek

+2

afaik нет способ динамически передавать их на подпрограммы в Ирре. Поскольку формат отчетов - jrxml, вы можете использовать синтаксический анализатор xml, а затем делать это программно. – ismail

Смежные вопросы