我的理解是,如果您不向JRDataSource
提供JasperFillManager
,那么生成的JasperReport将不包含任何细节带。
出于这个问题的上下文之外的原因,我想在一个小/简单的JasperReport上放置一些组件(条形图和表格),我希望数据来自我将传入的HashMap因此,我不需要JRDataSource实现,这也意味着我不会得到任何细节带。
所以我的问题是:然后我应该将我的组件添加到哪个频段?详细信息频段是我通常会添加组件的地方,但如果我没有得到详细信息乐队,这些孤儿组成部分在哪里?
编辑:这个问题的切线显而易见:我将如何计算此频段所需的尺寸(高度)?
答案 0 :(得分:3)
您可以将JREmptyDatasource
传递给JasperFillManager
。您甚至可以使用JREmptyDataSource#JREmptyDataSource(int count)
构造函数指定所需的虚拟记录数,即将显示多少个细节带。
答案 1 :(得分:2)
将它们放入标题或摘要频段。
实际上,您的报告没有数据。但是,由于您将Map作为带有“数据”的参数传递,因此您对此无数据报告感到满意。确保报告设置为在没有数据时显示“所有部分,无详细信息”。
使用图表,您可以根据需要设置图表高度和波段高度。表组件将扩展......但这不是问题。它可以根据需要扩展标题或摘要频段。