2012-01-13 2 views
0

Возможно ли перезаписать параметр REPORT_LOCALE через Scriptlet или непосредственно в IReports?Настройка REPORT_LOCALE в IReport?

псевдокод:

if($P{MYLOCALEPARAM}== 1) REPORT_LOCALE = "en_US"; 
    if($P{MYLOCALEPARAM}== 2) REPORT_LOCALE = "de_GE"; 
    .... 

Я начинаю отчеты через

"RunJasper.jar" 
(gtwebmarque.com) 

через PHP Exec и я не хотелось изменить и перекомпилировать этот инструмент ...

Я знаю, что есть некоторые параметры локализации в вкладках параметров IReport. Но я хотел бы реализовать его динамически

BR Кристиан

ответ

3

Вы можете установить локаль с помощью JasperReports API.

Образец:

Map params = new HashMap(); 
params.put(JRParameter.REPORT_LOCALE, Locale.US); 
JasperFillManager.fillReportToFile(compiledReportName, params); 
+0

Hi.as упоминалось выше, у меня нет доступа к методу fillreport. Я использую «runjasper.jar». Итак, моя идея: перезаписать REPORT_LOCALE в файле jrxml во время выполнения с собственными параметрами – ChristianNRW

+0

Как я знаю, вы не можете переопределить встроенный параметр отчета (REPORT_LOCALE) в файле jrxml. Вы можете попытаться сделать это с помощью iReport. Просто добавьте в файл jrxml этот блок: \t \t \t \t

+0

Если я попробую это, я получил исключение: net.sf.jasperreports.engine.JRException: net.sf.jasperreports.engine.JRException: Дубликат объявления параметра: REPORT_LOCALE. Так что я должен был реализовать его в runjasper.jar, что делает мой JRXML для Jasper Translation. Спасибо – ChristianNRW

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