2012-01-13 5 views
0

Scriptlet経由で、または直接IReportsでParam REPORT_LOCALEを上書きすることはできますか?IReportでREPORT_LOCALEを設定していますか?

擬似コード:

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

私はPHPのexecを介して、

"RunJasper.jar" 
(gtwebmarque.com) 

を経由して、レポートを開始し、私はこのツールを変更して再コンパイルすることが嫌がってい...

私があることを知っていますIReportのオプションタブの一部のローカライゼーションオプション。 しかし、私はdynamicly

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"を使用します。私の考え:実行時にjrxmlファイルのREPORT_LOCALEを実行時に独自のパラメータで上書きする – ChristianNRW

+0

jrxmlファイルの組み込みレポートパラメータ(REPORT_LOCALE)を上書きすることはできません。あなたはiReportの助けを借りてこれを行うことができます。このブロックをjrxmlファイルに追加するだけです:\t \t \t <![CDATA [new " US ")]]> \t

+0

これを試してみると、例外があります:net.sf.jasperreports.engine.JRException:net.sf.jasperreports.engine.JRException:パラメータの重複宣言:REPORT_LOCALE。私はrunjasper.jarに実装しなければならなかったので、JRXMLをJasper翻訳にしました。ありがとうございます – ChristianNRW