Java JasperReports与iReport:SetNodeDataMessage不工作

Java JasperReports与iReport:SetNodeDataMessage不工作,java,jasper-reports,ireport,Java,Jasper Reports,Ireport,我有一份包含饼图的报告。无论查询返回结果还是什么都不返回,我都希望显示图表。通常,您只需要执行plot.setNoDataMessage()函数,但是由于这在iReport中未公开,因此我在Customizer类中执行了以下操作: CategoryPlot plot=(CategoryPlot)chart.getPlot(); setNoDataMessage(“没有可用的数据,所以我们真的要讨论这个问题” +“关于这意味着什么的长篇大论,它将在本世纪末结束” +“但是你能做些什么呢!”);

我有一份包含饼图的报告。无论查询返回结果还是什么都不返回,我都希望显示图表。通常,您只需要执行
plot.setNoDataMessage()
函数,但是由于这在
iReport
中未公开,因此我在
Customizer
类中执行了以下操作:

CategoryPlot plot=(CategoryPlot)chart.getPlot();
setNoDataMessage(“没有可用的数据,所以我们真的要讨论这个问题”
+“关于这意味着什么的长篇大论,它将在本世纪末结束”
+“但是你能做些什么呢!”);
但是,当我在没有返回数据的情况下运行它时,它会给我一个空白页,并且会弹出“文档没有页面”


请告知。

好的,我从其他地方得到了这个问题的答案

通常,如果您是Java中的
jfreechart
,上面的代码就可以了


但是如果您在
iReport
中执行此操作,则必须在根报告级别中找到属性“When no data”,将其设置为“All sections,no detail”。然后您的
nodata消息将显示在图表上。

进一步:如果报告中没有数据,它将显示
文档没有页面
,即使报告为空。