1. 概述编辑
通过下拉框参数联动方法可以实现下拉框参数的下拉列表联动,但是无法实现值的联动,比较我们应用场景中经常会需要选择一个值后,后面默认联动出列表中的第一个值,而不需要再选择,效果如下:
2. 实现思路编辑
通过给参数栏控件值赋值可以改变显示的内容,接合数据库查询函数SQL函数查询出前面参数在数据库中对应值的第1个,就可以实现查询出需要的结果
3.实现过程编辑
打开模板%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Parameter\ParaConnection.cpt
1)选择参数栏“地区”下拉框控件,控件值选择公式,输入:sql('FRDemo','SELECT 货主地区 FROM 订单 ',1,1)
注:表示选择出订单的货主地区的第一个地区。
2)选择“省份”下拉框控件,同样设置控件值为公式:if(len($area)=0,'',sql('FRDemo','SELECT 货主省份 FROM 订单 where 货主地区="'+$area+'"',1,1))
或if(len($area)=0,'',sql("FRDemo","SELECT 货主省份 FROM 订单 where 货主地区='"+$area+"'",1,1))
注:这里需要用到if函数,对前面的地区参数进行了判断,当地区参数为空时,不做查询
注:注意单双引号的搭配,在第一种里面,like "%xxx"要变成 like '%xxx'
3)选择“城市”下拉框控件,同样设置控件值为公式:if(len($area)=0||len($province)=0,'',sql('FRDemo','SELECT 货主城市 FROM 订单 where 货主地区="'+$area+'" and 货主省份="'+$province+'"',1,1))
注:这里需要用到if函数,对前面的地区和省份参数都进行了判断,当地区参数和省份参数有一个为空时,不做查询
注意:控件值赋值的sql必须和对应的控件数据字典查询一致,否则结果可能出错。