根据报告导出的内容,我在jasper报告中切换打印变量时遇到问题。我们假设我在碧玉报告中有两个字段:$ F {A}和$ F {B}。
如果使用rtf(富文本格式)导出,则jasper应打印$ F {A},如果使用非rtf导出,则打印$ F {B}。
我必须在jasper textField中写什么?
是否有任何函数作为exportedAs(" rtf")?
<textFieldExpression><![CDATA[(exportedAs("rtf")? $F{A} : $F{A})]]></textFieldExpression>
------在这里添加新信息------
我试图使用&lt; exporter_property_prefix&gt; .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行
假设报告导出为PDF时打印$ F {A},报表导出为RTF时打印$ F {B}。
如果我们打印为PDF:
other line...
line A1
line A2
line A3
other line...
如果我们打印为RTF:
other line...
line B1
---blank line---
---blank line---
other line...
我必须删除那些空白行..
答案 0 :(得分:2)
如果您可以使用不同的文本字段,net.sf.jasperreports.export.{format}.exclude.key.{suffix}
属性可能会有帮助。
请参阅jasper-reports config.reference