我希望我的报告可以根据其他字段的值,在行中显示图像。例如:
column_1 | column_2
======================
xyz | <xyz.jpg>
abc | <abc.jpg>
column_1保存文本,column_2显示来自文件文本+ ".jpg“的图像。为此,我将图像表达式设置为:$F{COLUMN_1}+ ".jpg“。
问题是,有时可能(在我的例子中是: will)不存在具有适当名称的图像文件。这将生成“错误填充打印. Byte data not found at : some_image_path”。
当指定的文件不存在时,是否有一种方法来处理这些错误,例如,通过显示一些默认的图像?
发布于 2014-05-28 22:40:58
结果是可以使用'onErrorType‘来决定错误上的图像发生了什么。下面是一个示例:
<image scaleImage="RealHeight" hAlign="Center" vAlign="Middle" onErrorType="Blank">
这将在没有找到图像文件时将图像设置为空白,而不是以错误完成。
发布于 2015-09-18 08:08:51
视图设计器->属性->参数->单击左->添加->子报表参数名称、图像值表示,双击IMAGEN(参数)
发布于 2017-11-28 03:14:15
Tosz的解决方案确实有效,但不是很灵活:您只能得到一个空白帧,或者一个默认图标,而不是图像。
若要指定自定义行为,可以使用以下表达式:
$P{REPORT_FILE_RESOLVER}.resolveFile( $F{COLUMN_1}+ ".jpg" )
它在找不到文件时返回null。例如,您可以使用它作为图像表达式,并通过简单的检查指定默认图像:
$P{REPORT_FILE_RESOLVER}.resolveFile( $F{COLUMN_1}+ ".jpg" ) != null ? $F{COLUMN_1}+ ".jpg" : "default.jpg"
https://stackoverflow.com/questions/23760597
复制