问题描述
决策报表中,finereport对图片的显示没有很好的支持(图片组件无法动态显示,只能上传一张图片),现在使用数据库中保存的图片(以blob格式保存的)动态显示在决策报表页面。
解决方法
这里的需求是使用按钮控制图片动态显示:方法是使用了JS控制文本框的值,让文本框的值变成动态参数(文本框名称)的值(文本框隐藏掉),动态参数控制数据库查询语句SQL。
详细步骤
SQL数据库中的值如图所示
finereport数据库查询准备SQL语句
iname: 动态参数
details: 图片
SELECT id,iname,details FROM indicator WHERE 1=1
${if(iname="","","and iname='"+iname+"'")}
添加文本控件
属性如图设置
控件名称是动态参数
设置为非可见
控件值可以填默认显示的值
添加按钮
并为按钮设置点击事件:
var iname_widget = _g().getWidgetByName("iname");//找到参数文本框控件
iname_widget.setValue('动态参数值');//设置参数值
iname_widget.fireEvent("afteredit");//设置编辑后事件
控件常用方法参考官方文档
添加图片显示
使用报表块,具体就是把查询出来的图片列显示在报表块中,图片相关设置自己网上查询或者留言。
以上就是多个按钮控制图片显示的方法