历史版本11 :填报控件数据字典联动 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 描述编辑

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

2. 实现思路编辑

其实现方法和参数联动是一样的,通过定义数据集并增加where过滤条件实现,或者使用SQL()函数实现。
如果填报联动的数据需要查询已有的数据集,可以使用ds1.select()函数实现。
在填报界面中,通过单元格控件名(包括参数控件与填报控件)都可以来引用控件的值。

3. 示例编辑

3.1 打开模板
打开模板:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\FreeForm\FreeForm.cpt
3.2 地区城市下拉框联动设置
方法一:通过定义数据集实现
增加数据集ds2,其SQL语句为:SELECT 城市 FROM 雇员 where 地区='${C9}',通过where条件限制城市的数据是C9单元格选择后的值。
修改城市下拉框控件F9的数据字典为数据查询,数据集选择刚刚定义的ds2,实际值与显示值都选择城市,如下图:
222
注:填报的控件除了可以根据单元格进行联动,也可以根据参数或者填报的控件名进行联动,如C9单元格的控件名称为地区,则将ds2修改为:SELECT 城市 FROM 雇员 where 地区='${地区}'也可达到同样的联动效果。
注:自APPv9.3.27版本开始,移动端只支持使用单元格作为参数名来联动,不支持控件名作为参数来联动。
方法二:使用SQL()函数实现
修改城市下拉框控件的数据字典的类型设置为公式,实际值输入公式:SQL("FRDemo","select 城市 from 雇员 where 地区='"+C9+"'",1),显示值输入公式:$$$,如下图:
222
注:SQL()函数参考文档SQL函数
方法三:使用ds1.select()函数实现
修改城市下拉框控件的数据字典的类型设置为公式,实际值输入公式:ds1.select(城市,地区=C9),显示值输入公式:$$$,如下图:
222
注:ds1.select()函数参考文档ds1.select()函数的使用
3.3 填报预览
点击填报预览即可查看效果。在线查看模板效果请点击FreeForm1.cpt
已完成的模板,可参考:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\FreeFrom\FreeForm1.cpt