2016-08-25 6 views
0

ジャスパーレポートの印刷変数を、レポートのエクスポート先に基づいて切り替えるのに問題があります。ジャスパーレポートに2つのフィールド、$ F {A}と$ F {B}があるとします。 ジャスパーは、rtf(リッチテキスト形式)を使用してエクスポートする場合は$ F {A}、rtf以外を使用する場合は$ F {B}を出力します。

ジャスパーtextFieldには何を書き込む必要がありますか?
exportedAs( "rtf")としての機能はありますか?
<textFieldExpression><![CDATA[(exportedAs("rtf")? $F{A} : $F{A})]]></textFieldExpression>

------ここに新しい情報を追加------

私は<exporter_property_prefix> .exclude.key
<property name="net.sf.jasperreports.export.rtf.exclude.key.NOTRTFFIELD"/>

を使用してみましょうしようとしています他の印刷物はpdfです。
<property name="net.sf.jasperreports.export.rtf.exclude.key.NOTPDFFIELD"/>

レポート要素にもキーを入れます。エクスポートジャスパーレポートフォームの検出

<code> 
<reportElement key="NOTRTFFIELD"> 
<reportElement key="NOTPDFFIELD"> 
</code> 


しかし$ F {A}と$ F {B}は、行の異なる数を有し、それは、より少ない行を持つフィールドの空のスペースを残します。


$ F {A}、すなわち:
線A1
線A2
線A3

$ F {B}:
線B1

$ F {仮定A}は、レポートをPDFとしてエクスポートし、レポートをRTFとしてエクスポートするときに$ F {B}が出力されたときに出力されます。

我々はPDFとして印刷する場合: other line... line A1 line A2 line A3 other line...

我々はRTFとして印刷する場合:あなたは別のテキストフィールド、net.sf.jasperreports.export.{format}.exclude.key.{suffix}プロパティを使用することができる場合、私はそれらの空白行を削除する必要が other line... line B1 ---blank line--- ---blank line--- other line...

...

+0

[JasperReportsの:非表示のテキストフィールドではないHTMLビュー]の可能な重複(http://stackoverflow.com/questions/8044930/jasperreports-hide-textfield-when-not-html- view) –

+0

' .exclude.key' –

+0

を使用することも、パラメータを使用することもできます。java経由でエクスポートしていますか、またはjasper-serverを使用していますか? –

答えて

2

役立つかもしれません。

参照碧玉、レポートconfig.reference

+0

私はそれを試みましたが、テキストの高さが異なる場合は、テキストの高さが低いほど空きスペースが残ります。 $ F {A}は3行を含んでいると仮定します。 $ F {B}には5行が含まれています。 $ F {B}に2行が追加されているため、$ F {B}のテキストが$ F {A}の場合、次の2行は空行になります。私はこの空の行を削除する必要があります。 –

+0

これにもremoveWhenBlank = trueとpositionType = floatのプロパティがあります –

+0

reportElement属性としてisRemoveLineWhenBlank = "true"を入れましたが、空白行は削除されません –