iReport:从数据库加载子报表

时间:2014-04-15 11:44:35

标签: jasper-reports blob subreport

我有使用子报表的报表,但由于子报表以BLOB的形式存储在数据库表中,因此我无法在*.jrxml文件中提供其路径(url)。有没有办法将从数据库(*.jasperBLOB)加载的InputStream文件添加为子报告。

1 个答案:

答案 0 :(得分:3)

我明白了。

  1. 添加列表组件
  2. 在列表的数据集中,获取字段,将子报表保存为BLOB,然后调用它 REPORT_DATA
  3. REPORT_DATA字段的类型设置为InputStream
  4. 在列表中添加子报告。
  5. 将“子报告表达式”设置为$F{REPORT_DATA}及其“表达式” “转到InputStream
  6. 相应地设置连接类型,表达式和参数。
  7. 不要忘记至少将列表组件的大小调整为子报表的大小,否则会出现如下错误:

    net.sf.jasperreports.engine.design.JRValidationException: Band height validation for subreport ...