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

本文介绍在报表填报界面实现联动效果的方法,包括通过定义数据集并增加where过滤条件、使用SQL()函数及ds1.select()函数等,实现根据前一个控件的值显示不同选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

222

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,实际值与显示值都选择城市,如下图:

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()函数的使用

转载自:https://blog.csdn.net/DN_XIAOXIAO/article/details/81368738

<think>好的,用户想在帆软报表中实现多级下拉菜单的联动功能。我需要先回忆相关的知识,并结合提供的引用内容来组织答案。 首先,根据引用[3],提到填报联动时,选择第一个控件后,其他联动控件可以跟随选择可选范围内的第一个值。这说明支持控件之间的联动,可能通过参数传递或数据过滤实现。 接下来,步骤可能包括:创建数据集、设置模板参数、绑定控件和数据字典,以及设置控件间的联动关系。需要分步骤详细说明,比如每个下拉框对应一个参数,后面的参数依赖于前一个的值,通过数据过滤实现选项的动态变化。 还要注意引用[2]中提到的参数控件查询和下拉框单选查询,可能需要设置控件的数据字典为数据库表或SQL查询,并根据参数动态改变查询条件。例如,第二个下拉框的数据集SQL语句中包含第一个下拉框的参数作为条件,从而实现级联效果。 另外,引用[1]提到超级链接类型,但用户的问题是关于下拉菜单联动,可能不需要这部分内容,但可以确认是否需要其他交互功能,不过用户主要关注联动,所以暂时忽略超级链接部分。 需要确保每个步骤清晰,并指导用户如何在设计器中操作,比如选择控件类型、设置数据字典、添加过滤条件等。可能还需要提醒测试预览效果,如引用[2]中的分页预览,确保联动正常工作。 最后,生成相关问题,可能需要包括参数设置、动态默认值、性能优化等,帮助用户进一步了解相关功能。</think>在帆软报表中实现多级下拉菜单联动功能可通过以下步骤完成: ### 一、数据准备 1. **建立层级数据集** 每个下拉菜单对应独立的数据库表或视图,例如: - 省份表(province: id, name) - 城市表(city: id, name, province_id) - 区县表(district: id, name, city_id) ### 二、参数设置 2. **创建模板参数** 按层级创建`province`、`city`、`district`三个参数,注意设置参数默认值为空字符串[^2] ### 三、控件绑定 3. **第一级下拉框配置** ```python 控件类型:下拉框 数据字典:直接连接省份表 ``` 4. **第二级下拉框配置** ```python 数据字典:SQL语句 SELECT * FROM city WHERE province_id = '${province}' 添加编辑后事件:刷新city参数值后自动刷新district控件[^3] ``` 5. **第三级下拉框配置** ```python 数据字典:SQL语句 SELECT * FROM district WHERE city_id = '${city}' ``` ### 四、联动实现 6. **动态过滤配置** 在控件属性面板的「数据查询」设置中,通过`parent_param`参数传递上级选择值,使用公式: $$ \text{WHERE条件} = \text{IF}(ISNULL(parent_param), \text{''}, \text{关联字段}=parent_param) $$
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值