1 概述

1.1 版本

服务器版本
v6.9.3及之后版本

1.2 功能说明

数据填充指的是填报时,一个单元格的内容变换,会导致其他单元格值发生变化,但不是因为自动计算表达式,那么就需要引入【填报联动】技术。

1.3 示例

订单中收单者的值发生变化时,收单者的地址、城市、地区、邮政编码、国家的值会自动跟随变化,如下图:

1.4 实现方法

有两种方法可以实现数据填充的效果:
1)使用参数对被填充单元格对应的数据进行数据过滤,根据数据填充关系进而达到对应数据填充的效果。
2)使用“SQL嵌套模式”进行控件联动设置也可达到数据填充效果。

2 制作步骤

2.1 准备模版

准备好报表中需要的数据源,并设计报表模版,设计效果如下:

其中,“收单者”配置为下拉框,引用的数据源为“客户”。

2.2 方法一:数据填充方式

具体实现步骤如下:
步骤一:创建填充值数据源
为被填充值数据来源创建“客户信息”数据视图,并预设参数:客户ID,如下图:

将其添加到模版数据的“字典”中,并启用“客户ID”参数,值为对应的报表参数,如下图:

自动创建“客户ID”参数,用于后面的联动设置进行使用。

注:虽然被填充值的数据源与下拉框一样,但想要达到被填充值根据下拉框选项值进行动态变化,需要另外创建两个数据源,否则仅会填充一次,更改下拉框选项值后被填充值不会变化。

步骤二:数据填充设置
在触发填充的源单元格 B2 右键选择“数据填充设置”,如下图:

点击进入设置界面,选择准备好的数据源“客户信息”,并依次设置好被填充单元格以及对应填充的字段,如下图:

步骤三:联动设置
想要达到被填充值动态根据下拉框进行变化,还需要通过“联动设置”将收获者的值传递给参数“客户ID”,对客户信息进行数据过滤,过滤出对应的值进行填充。
在触发填充的源单元格 B2 右键选择“联动设置”,如下图:

设置如下:

2.3 方法二:填报联动方式

具体步骤如下:
步骤一:数据联动模式设置
将报表属性中的为[数据联动模式]设置为“SQL嵌套模式”,如下图:

步骤二:单元格联动设置
在被联动单元格上进行联动设置,下面以B3单元格的填报联动设置为例,D3 右键选择“填报属性”,如下图:

进入“联动”tab,设置联动数据源(选择“客户”,编码和名称字段均选择“地址”)和联动关系(产品数据源中的字段“客户ID”=B2单元格值),如下图:

联动数据源:单元格联动值所在的报表数据源,要求制定值的编码字段和名称字段,通常是来自同一个字段。
联动关系:指在当前选定的报表数据中,通过怎样的关系查询出联动数据。比如实例中通过客户ID与B2单元格值相等来获取。
以同样的方式,设置B4、D4、B5、D5等单元格的联动即可。

3 效果预览

报表保存后,点击预览,可查看选择收单者后自动填充对应收获者的地址、城市、地区、邮政编码、国家数据的效果,如下图:

4 总结

1)数据填充方式是在触发填充的单元格上统一进行填充设置,而填报联动方式则需要分别在被联动单元格上逐一设置联动数据源和联动关系;
2)数据填充方式一般需要配合参数联动进行使用,而填报联动方式则不需要依赖参数;
3)当触发填充的单元格控件与被填充单元格值来源是同一个数据源数据时,若被填充值需要根据选项值切换后动态变化,数据填充方式需要分别创建两个数据源进行使用,而填报联动方式使用一个同一个即可。

5 实例地址

所属应用:单元格表单实例
模板地址:应用空间\订单实例\02.填报\007.订单\订单_数据填充.hte

作者:fancy  创建时间:2024-04-11 10:33
最后编辑:fancy  更新时间:2025-04-24 13:55