1. 概述
1.1 版本
报表服务器版本 | 功能变更 |
---|---|
11.0 | - |
1.2 应用场景
希望实现多选下拉树的默认全选,如下图所示:
1.3 实现思路
多选下拉树的默认值格式为:华北,北京,北京;华北,河北,石家庄。
1)方案一
首先使用 SQL 语句将下拉树数据字典的三个字段用逗号分隔合并为一个字符串,然后在控件值里使用 joinarray() 函数和 value() 函数,拼接成多选下拉树默认值格式的字符串。
2)方案二
使用 TREEDEFAULTPATH 函数和 SQL 函数返回当前多选下拉树数据字典中货主城市的完整路径。
2. 准备模板
2.1 新建模板
新建一张普通报表,如下图所示:
2.2 准备数据
1)新建数据库查询 ds1 ,输入 SQL 语句:SELECT 货主地区 FROM 订单 where 货主地区!='',表示获取订单表中所有非空的货主地区,步骤如下图所示:
2)同理,新建数据库查询 ds2 ,输入 SQL 语句:SELECT 货主省份 FROM 订单 where 货主省份!='' and 货主地区='${layer1}',表示基于第一个查询的结果(通过参数${layer1}传递),获取指定货主地区下的所有非空货主省份数据。如下图所示:
3)同理,新建数据库查询 ds3,输入 SQL 语句:SELECT 货主城市 FROM 订单 where 货主城市!='' and 货主地区 = '${layer1}'and 货主省份='${layer2}',表示基于前两个查询的结果(通过参数${layer1}和${layer2}传递),获取指定货主地区和货主省份下的所有非空货主城市数据。如下图所示:
注:layer1,layer2 等均是系统参数,为固定写法,不可更改。
2.3 设置控件
1)进入参数面板编辑界面,向参数面板中拖入下拉树控件,如下图所示:
2)选中下拉树控件,点击「属性>数据字典」,如下图所示:
3)选择「普通分层构建」,层次1 类型设置为「数据查询」,数据集为 ds1 ,实际值和显示值都为「货主地区」,如下图所示:
4)选择「普通分层构建」,层次2 类型设置为「数据查询」,数据集为 ds2 ,实际值和显示值都为「货主省份」,如下图所示:
5)选择「普通分层构建」,层次3 类型设置为「数据查询」,数据集为 ds3 ,实际值和显示值都为「货主城市」,如下图所示:
6)选中下拉树控件,点击「属性」,勾选「多选」,如下图所示:
3. 方案一
3.1 设置控件默认值
1)新建数据库查询 ds4,输入 SQL 语句:select 货主地区||','||货主省份||','||货主城市 from 订单 where 货主地区 !='' and 货主省份 !='' and 货主城市 !='',表示获取货主地区、货主省份和货主城市都不为空的数据,并将三个字段用逗号分隔合并为一个字符串,步骤如下图所示:
注:此处需要根据实际需求修改 SQL 语句,最终将每个节点值的完整路径输出即可。
2)选中下拉树控件,点击「属性>高级>控件值」,选择公式,插入公式:JOINARRAY(value("ds4",1),";"),如下图所示:
3)公式JOINARRAY(value("ds4",1),";")说明如下表所示:
注:value 函数详情参见:Value函数 ,JOINARRAY 函数详情参见: JOINARRAY 。
公式 | 说明 |
---|---|
value("ds4",1) | 返回数据集 ds4 的第一列所有数据( 数组形式) |
JOINARRAY(value("ds4",1),";") | 将数组形式的数据集 ds4 的第一列所有数据转换为一个由 ; 作为分隔符的字符串 |
3.2 效果预览
1) PC 端保存模板,点击预览,效果如下图所示:
App 与 HTML5 端效果相同,如下图所示:
4. 方案二
4.1 设置控件默认值
1)选中下拉树控件,点击「属性>高级>控件值」,选择公式,插入公式:TREEDEFAULTPATH(sql("FRDemo","SELECT 货主城市 FROM 订单",1)),如下图所示:
2)公式 TREEDEFAULTPATH(sql("FRDemo","SELECT 货主城市 FROM 订单",1)) 说明如下表所示:
注:SQL 函数详情参见:SQL函数 ,TREEDEFAULTPATH 函数详情参见: TREEDEFAULTPATH-返回下拉树完整路径 。
公式 | 说明 |
---|---|
sql("FRDemo","SELECT 货主城市 FROM 订单",1) | 返回 FRDemo 中订单表中的货主城市数据 |
TREEDEFAULTPATH(sql("FRDemo","SELECT 货主城市 FROM 订单",1)) | 返回当前多选下拉树数据字典中货主城市的完整路径 |
4.2 效果预览
1) PC 端
保存模板,点击预览,效果如下图所示:
2) 移动端
App 与 HTML5 端效果相同,如下图所示: