IReport - 作为输入流参数的子报表

IReport - Subreport as Inputstream parameter

我有一个子报表,它运行良好,我还有另一个使用该子报表的报表,并且在 IReport 中也运行良好;我总是使用 "file Path".

的子报表

但是,我想将报告添加到 JAR (OSGI Bundle) 中,并将使用 InputStream 执行报告以加载 Jasper Reports。

使用 IReport Designer(5.6.0 版)设计报表的工具,当我在子报表表达式中从 "File Path" 更改为 "Inputstream" 时,它会给我一个 "Warning" 属性.

警告是:

Unable to locate the subreport with expression: "$P{SUBREPORT_1}".

使用 IReport 运行 报告的最佳方式是什么?

此警告仅表示 iReport 正在尝试编译子报表,但找不到它。

当您使用 "File Path" 时,您可以输入子报表文件的完整路径,iReport 会找到它。

自从你改成InputStream后,iReport不知道如何找到子报表来编译它。

当报告 运行 在您的应用程序中时,您将该信息作为参数提供,它通常会 运行。

如果您想停止该警告,只需禁用子报表的编译即可。转到 ToolsOptionsiReportCompilation and Execution 并取消标记为 "Compile Subreports (if can be found)" 的选项。