[英]Jasper Reports: showing images dynamically depending on field values
我正在使用Jasper Reports和iReport生成我的应用程序的报告。 我需要根据数据库中的查询在报告中显示图像。 图像是平面图,并且内部具有表示测量值等的其他字段。
IE带有两个图像:IMAGE1和IMAGE2链接到Field_ONE和Field_TWO。
如果Field_ONE为!= null,那么我想显示IMAGE1和文档中图像内的字段;
如果Field_TWO为!= null,并且Field_ONE等于null,那么我想在先前显示IMAGE1的地方显示IMAGE2
如果Field_TWO为!= null和Field_ONE!= null,那么我想并排显示IMAGE1和IMAGE2。
请注意,我可能有5幅或6幅图像,因此要覆盖所有可能的可能性,而仅使用tag在它们之间不留空格将非常困难。
简而言之:我需要像Android中的布局这样的东西,我可以根据字段动态添加计划,并按添加计划的顺序生成图像及其关联的字段。
希望您能提供帮助,谢谢!
注意:根据报告的结果,我可以有多个相同类型的图像,因此几乎不可能用图层覆盖它
图层(静态)解决方案
Send to layer
。 选择第i层。 $F{Field_ONE} != null
子报表(动态)解决方案
select 'Ascent.jpg' as image from dual where $P{FIELD_1} is not null
。 您需要为每个字段执行此操作,并union all
选择语句。 image
字段将值设置为图片的路径。 例如, "C:/WINDOWS/Web/Wallpaper/"+$F{IMAGE}
。 在测试之前,我不想发布此解决方案。 如果有不清楚的地方,我可以张贴包含很多行的示例。 之所以需要子报表,是因为主报表有1列并垂直填充,但是您需要图像在多列中水平填充。 对于每个不为null的字段,子报表查询将按语句顺序返回一条记录。 然后将在各列中填充记录。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.