我正在开发一个报告应用程序,用户可以从100个报告的列表中选择(和订购)报告,并要求提供主报告。此主报告将按照确切的顺序包含所有选定的报告,并包含列出主报告中包含的报告的目录。可供用户选择的报告(可能是100个)存储在数据库中。
我的问题是: -
ResourceManager.createDirectly(url, MasterReport.class)
中指定的URL,但是没有成功直到现在。如何根据存储在数据库中的定义生成报告?应该有一些资源抽象。答案 0 :(得分:1)
将报告读入字节数组,然后像往常一样使用ResourceManager.createDirectly方法。这将解决您解析报告的问题。
您可以使用
将它们直接解析为SubReportsResourceManager.createDirectly(bytes,SubReport.class)
然后可以将这些子报表作为带状子报表添加到主报表中。如果您希望所选报告在新页面上开始,请确保在子报表的报表标题上设置“pagebreak-before”样式。
有一个资源抽象:它被称为“LibLoader”,您可以创建自己的ResourceLoader来处理将数据作为原始数据流从数据库中获取的问题,以便ResourceFactory实现可以解释/解析原始数据-data。
但是每个数据库的设计都不同,因此你因为系统集成商必须为它编写粘合代码。我们只能提供接口。