我有一个问题,根据报告导出到jasper报告切换打印变量。假设我在碧玉报告中有两个字段:$ F {A}和$ F {B}。 如果使用rtf(RTF格式)导出,jasper应打印$ F {A},如果使用rtf以外的其他格式导出,则打印$ F {B}。
我必须在jasper 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 {以PDF格式导出报表时打印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...
我不得不删除这些空行..
的可能的复制[JasperReports的:隐藏文本框时没有HTML视图(http://stackoverflow.com/questions/8044930/jasperreports-hide-textfield-when-not-html-查看) –
你可以使用:' .exclude.key' –
或者只是使用一个参数,你是通过java导出还是使用jasper-server? –