历史版本3 :下拉框动态数据来源 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 问题描述编辑

在制作参数界面时,希望下拉控件的数据是动态的,如下图所示,前面控件选择地区后,后面的下拉框控件就显示地区的数据;若前面控件选择省份,则后面的下拉框就显示省份的数据,此时要如何实现呢?
222

2. 实现思路编辑

通过设置两个参数,通过设置参数的值为公式,在公式中通过if条件判断第一个参数的值,最后通过sql函数取出对应的数据列即可。

3. 示例编辑

假设已经存在两个报表参数p1,p2,并且p1参数的控件为下拉框,其数据是地区,省份。
下面我们就来看下如何根据p1的选择来设置p2的参数值。
3.1 动态数据来源设置
设置参数p2控件类型为下拉框,数据字典选择公式,在实际值中输入:if($p1='省份',sql("FRDemo","select 货主省份 from 订单",1),if($p1='地区',sql("FRDemo","select 货主地区 from 订单",1),"")),如下图所示:
222
注:其公式的意义在于,若p1参数值为省份,则p2的数据为订单表中的货主省份列;若p1参数值为地区,则p2的数据为订单表中的货主地区列;否则显示为空。
3.2 效果查看

点击分页预览,首先选择地区,可以看到显示的是地区的数据,再选择省份,显示的就是省份的数据,其效果如上效果图。