1. 概述
1.1 版本
报表服务器版本 | 功能变更 |
---|---|
10.0 | -- |
1.2 功能简介
控件应用中,当原始数据中存储的字段不适宜展现在报表上;或需要根据不同的原始数据在报表中显示不同的值时,部分控件支持通过使用数据字典功能将实际值和显示值做巧妙变换。如下图所示:
支持数据字典功能,有实际值和显示值区分的控件如下表所示:
控件 |
---|
复选框控件 |
单选按钮组控件 |
复选框组控件 |
下拉框控件 |
下拉复选控制件 |
列表控件 |
下拉树 |
视图树 |
那在使用中,这部分控件传值和引用值的过程中,传的是实际值,还是显示值呢?本章将具体介绍这些有实际值与显示值区分的控件,在使用时的传值逻辑。
2. 功能逻辑
1)控件绑定数据字典,传值的时候传的都是实际值;显示值只是用来显示,传值的时候不会被传递。如下图所示。
2)参数和控件绑定,通过$参数名(控件名),获取到的值也是实际值,不是显示值。如下图所示:
3)通常实际值和显示值是一一对应的关系,但也会存在不一一对应的情况,即多个显示值对应一个实际值;多个实际值对应多个显示值。
一个实际值对应多个显示值时,控件会列表展示所有的显示值,不会将同样的值合并。如下图所示
一个显示值对应多个实际值时,控件会将所有显示值显示出来。如下图所示:
传递值时都会传递实际值,按顺序对应,不会合并。
4)控件默认值处可以填写显示值,也可以填写实际值。填写显示值也可以匹配到选项,但传递值时传递的依旧是实际值。
如果实际值和显示值不一一对应,情况如下图所示:
控件值处写入显示值,这个显示值对应多个实际值:传值时,将会按顺序传递第一个实际值。
控件值处写入实际值,这个实际值对应多个显示值:显示时,单选情况下只会选中第一个显示值。
3. 示例
示例完成一个实际值和显示值不一样的查询模板,演示实际值和显示值不一样时,值的传输规则。
3.1 新建数据集
新建模板,新建数据集 ds1,SQL 语句为:SELECT * FROM 销量 where 英文简称 = '${sale}',如下图所示:
销量表如下图所示:
3.2 添加参数控件
点击参数面板,将 sale 参数添加到参数面板,控件选择「下拉框」控件。如下图所示:
3.3 绑定数据字典
点击「下拉框」控件,为其绑定数据字典,实际值和默认值选择销量表不同的数据列。如下图所示:
3.4 设计报表
设计报表,在 A1 单元格中输入公式 $sale 。如下图所示:
3.5 效果预览
保存模板,点击「分页预览」,如下图所示,控件选项显示销售员的名称,但实际传递的值为英文简称。