帆软填报联动 控件联动的几种方式

在填报报表界面,也希望实现如下图的联动效果,根据前一个控件的值,显示不同的项:

帆软填报联动 控件联动的几种方式

2. 实现思路编辑

其实现方法和参数联动是一样的,通过定义数据集并增加where过滤条件实现,或者使用SQL()函数实现。

如果填报联动的数据需要查询已有的数据集,可以使用ds1.select()函数实现。

在填报界面中,通过单元格或控件名(包括参数控件与填报控件)都可以来引用控件的值。

3. 示例编辑

3.1 打开模板

打开模板:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Form\FreeForm\FreeForm.cpt。

3.2 地区城市下拉框联动设置

方法一:通过定义数据集实现

增加数据集ds2,其SQL语句为:SELECT 城市 FROM 雇员 where 地区='${C9}',通过where条件限制城市的数据是C9单元格选择后的值。

修改城市下拉框控件的数据字典为数据查询,数据集选择刚刚定义的ds2,实际值与显示值都选择城市,如下图:

帆软填报联动 控件联动的几种方式

注:填报的控件除了可以根据单元格进行联动,也可以根据参数或者填报的控件名进行联动,如C9单元格的控件名称为地区,则将ds2修改为:SELECT 城市 FROM 雇员 where 地区='${地区}'也可达到同样的联动效果。

注:自APPv9.3.27版本开始,移动端只支持使用单元格作为参数名来联动,不支持控件名作为参数来联动。

方法二:使用SQL()函数实现

修改城市下拉框控件的数据字典的类型设置为公式,实际值输入公式:SQL("FRDemo","select 城市 from 雇员 where 地区='"+C9+"'",1),显示值输入公式:$$$,如下图:

帆软填报联动 控件联动的几种方式

注:SQL()函数参考文档SQL函数

方法三:使用ds1.select()函数实现

修改城市下拉框控件的数据字典的类型设置为公式,实际值输入公式:ds1.select(城市,地区=C9),显示值输入公式:$$$,如下图:

帆软填报联动 控件联动的几种方式

注:ds1.select()函数参考文档ds1.select()函数的使用