我有一个子报表,它运行良好,我还有一个使用子报表的报表,并且在 IReport 中也运行良好;我总是使用“文件路径”中的子报表。
但是,我想将报告添加到 JAR(OSGI bundle )中,并将使用 InputStream 执行报告以加载 Jasper 报告。
当我在子报表表达式属性中从“文件路径”更改为“输入流”时,使用 IReport Designer(版本 5.6.0)设计报表的工具给我一个“警告”。
警告是:
Unable to locate the subreport with expression: "$P{SUBREPORT_1}".
使用 IReport 运行报表的最佳方式是什么?
最佳答案
此警告仅意味着 iReport 正在尝试编译子报表,但找不到它。
当您使用“文件路径”时,您可以输入子报表文件的完整路径,iReport 会找到它。
由于您更改为InputStream,iReport 不知道如何找到子报表来编译它。
但是,当报表在您的应用程序内运行时,您将将该信息作为参数提供,它将正常运行。
如果您想停止该警告,只需禁用子报表的编译即可。转到工具
、选项
、iReport
、编译和执行
,然后取消选中标有“编译子报表(如果可以)”的选项被发现)”。
关于java - IReport - 作为输入流参数的子报表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28585235/