【发布时间】:2015-11-19 15:53:02
【问题描述】:
我是编写 jasper 报告(以及一般的 SQL)的新手。我们正在尝试加载 RTF 或 HTML 文件作为报告末尾的披露。我们这样做的方式是在 SQL 的一部分中选择文件的名称(“披露”):
SELECT
....
'Disclosure' as Disclosure
FROM
...
然后,显然,有一个字段:
<field name="Disclosure" class="java.lang.String"/>
最后,在报告的摘要部分,我们使用 loadfile 实用程序:
<textFieldExpression class="java.lang.String"><![CDATA[JasperFileRuntimeUtility.loadFile($F{Disclosure}, $P{REPORT_PARAMETERS_MAP})]]></textFieldExpression>
如果报告返回数据,这很好用。但是,如果原始查询的结果没有返回任何记录,则报告中不包含披露(因为查询的结果显然是什么)。
我认为我们可以通过提供“披露”作为参数来轻松解决这个问题,但是当我将其更改为 $P 而不是 $F 时。我收到有关无效 io 文件类型的错误。
我还尝试创建一个变量并将 $V 设置为我们传入的 $P 的值,但也没有运气。
是否有一种加载文件类型的实用程序可以加载参数,就像我们对字段所做的那样?还有其他建议吗?
感谢帮助!!!
【问题讨论】:
标签: jasper-reports