ireport添加不了鼠标事件哦,如果你要做报表的话,不妨尝试一下FineReport来实现一些鼠标的功能,比如鼠标滑过下拉框选项时在单元格中显示对应的图片:
1、新建一张模版,如下图所示设计模版
2、下拉框的控件名为ceshi,数据字典选择自定义,如下图
要注意下拉框控件名称,在下面的js代码里面使用了控件名称调用该控件。
3、图片单元格
B2单元格为显示图片的单元格,单元格值为<img id ="simon_img"src='http://localhost:8075/webreport/page_demo/翠鸟.png">,是一个html显示图片的标签,故该单元格的内容显示方式需要选择为用HTML显示内容,选中单元格,在右侧的单元格属性表中选择单元格属性表—其他属性>显示内容,下拉框选择用HTML显示内容,单元格中图片默认显示翠鸟
要助于img标签的id,要与下面的代码里面使用的id一致。
然后进行加载结束事件,最好进行图片准备
要注意的是图片名称需要与下拉框的显示值保持一致。
你的意思是需要动态显示参数控件吗?之前在finereport中有个相似的案例,具体步骤如下:
1、打开模板
2、修改数据集
将数据集修改为:
SELECT * FROM 订单 where 1=1 ${if(type=="日报"," and date(订购日期)='"+ date +"'", if(type=="月报"," and strftime('%m',订单.订购日期)='"+ month+"'"+" and strftime('%Y',订单.订购日期)='"+ year+"'"," and strftime('%Y',订单.订购日期)='"+ year+"'"))}
给参数type设置默认值为日报,参数date设置默认值的类型为字符串型值2010-01-03
3、表样设计
将表样修改成如下样式
给A3设置形态,自定义数据,实际值与对应的显示值分别为:日报,日期;月报,年月;年报,年份。
在B3单元格中增加如下公式:=if(type=="日报",$date,if(type=="月报",$year+"."+$month,$year))
4、参数界面设置
将参数界面设置成如下样式
设置参数type的控件类型为下拉框,数据字典选择自定义,实际值与显示值都为日报,月报,年报。
设置参数year的控件类型为下拉框,数据字典选择自定义,显示值与实际值都为2010,2011。
设置参数month的控件类型也为下拉框,数据字典选择公式,在实际值出填写公式["01","02","03","04","05","06"]即可。
设置参数date的控件类型为日期,返回值类型为默认的字符串型。
5、动态显示参数控件js事件设置
给参数type的下拉框控件增加编辑后事件,具体的JS代码如下:
点击参数type的下拉框控件,在属性表的下方选择事件面板,点击增加编辑后事件,具体的js如下:
var form = this.options.formvar p2Widget = form.getWidgetByName("date")
var p3Widget = form.getWidgetByName("year")
var p4Widget = form.getWidgetByName("month")
var value = this.getValue() //获取当前参数即type参数的值
if (value == "日报") {
p2Widget.visible()
p3Widget.invisible()
p4Widget.invisible()
} else if (value == "月报") {
p2Widget.invisible()
p3Widget.visible()
p4Widget.visible()
} else if(value == "年报"){
p2Widget.invisible()
p3Widget.visible()
p4Widget.invisible()
}else {
p2Widget.invisible()
p3Widget.invisible()
p4Widget.invisible()
}
此段代码判断type参数的值,若是日报,则只显示date控件,若是月报,则显示year和month控件,若是年报,则只显示year控件。
6、保存模版
希望可以帮到您,愿采纳。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)