最新历史版本 :下拉树控件默认全选 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

报表服务器版本
功能变更
11.0-

1.2 应用场景

希望实现多选下拉树的默认全选,如下图所示:

13.jpg

1.3 实现思路

多选下拉树的默认值格式为:华北,北京,北京;华北,河北,石家庄

1)方案一

首先使用 SQL 语句将下拉树数据字典的三个字段用逗号分隔合并为一个字符串,然后在控件值里使用 joinarray() 函数和 value() 函数,拼接成多选下拉树默认值格式的字符串。

2)方案二

使用 TREEDEFAULTPATH 函数和 SQL 函数返回当前多选下拉树数据字典中货主城市的完整路径。

2. 准备模板编辑

2.1 新建模板

新建一张普通报表,如下图所示:

新建普通报表.png

2.2 准备数据

1)新建数据库查询 ds1 ,输入 SQL 语句:SELECT 货主地区 FROM 订单 where 货主地区!='',表示获取订单表中所有非空的货主地区,步骤如下图所示:

1.jpg

2)同理,新建数据库查询 ds2 ,输入 SQL 语句:SELECT  货主省份 FROM 订单 where 货主省份!='' and 货主地区='${layer1}',表示基于第一个查询的结果(通过参数${layer1}传递),获取指定货主地区下的所有非空货主省份数据。如下图所示:

2.jpg

3)同理,新建数据库查询 ds3,输入 SQL 语句:SELECT  货主城市 FROM 订单 where 货主城市!='' and 货主地区 = '${layer1}'and 货主省份='${layer2}',表示基于前两个查询的结果(通过参数${layer1}${layer2}传递),获取指定货主地区和货主省份下的所有非空货主城市数据。如下图所示:

注:layer1,layer2 等均是系统参数,为固定写法,不可更改。

3.jpg

2.3 设置控件

1)进入参数面板编辑界面,向参数面板中拖入下拉树控件,如下图所示:

4.jpg

2)选中下拉树控件,点击「属性>数据字典」,如下图所示:

5.jpg

3)选择「普通分层构建」,层次1 类型设置为「数据查询」,数据集为 ds1 ,实际值和显示值都为「货主地区」,如下图所示:

6.jpg

4)选择「普通分层构建」,层次2 类型设置为「数据查询」,数据集为 ds2 ,实际值和显示值都为「货主省份」,如下图所示:

7.jpg

5)选择「普通分层构建」,层次3 类型设置为「数据查询」,数据集为 ds3 ,实际值和显示值都为「货主城市」,如下图所示:

8.jpg

6)选中下拉树控件,点击「属性」,勾选「多选」,如下图所示:

9.jpg

3. 方案一编辑

3.1 设置控件默认值

1)新建数据库查询 ds4,输入 SQL 语句:select 货主地区||','||货主省份||','||货主城市 from 订单 where 货主地区 !='' and 货主省份 !='' and 货主城市 !='',表示获取货主地区、货主省份和货主城市都不为空的数据,并将三个字段用逗号分隔合并为一个字符串,步骤如下图所示:

注:此处需要根据实际需求修改 SQL 语句,最终将每个节点值的完整路径输出即可。

10.jpg

2)选中下拉树控件,点击「属性>高级>控件值」,选择公式,插入公式:JOINARRAY(value("ds4",1),";"),如下图所示:

11.jpg

3)公式JOINARRAY(value("ds4",1),";")说明如下表所示:

注:value 函数详情参见:Value函数 ,JOINARRAY 函数详情参见: JOINARRAY 。

公式
说明
value("ds4",1)返回数据集 ds4 的第一列所有数据(  数组形式)
JOINARRAY(value("ds4",1),";")将数组形式的数据集 ds4 的第一列所有数据转换为一个由 ; 作为分隔符的字符串

3.2 效果预览

1) PC 端

保存模板,点击预览,效果如下图所示:

13.jpg

2) 移动端

App 与 HTML5 端效果相同,如下图所示:

14.jpg

4. 方案二编辑

4.1 设置控件默认值

1)选中下拉树控件,点击「属性>高级>控件值」,选择公式,插入公式:TREEDEFAULTPATH(sql("FRDemo","SELECT 货主城市 FROM 订单",1)),如下图所示:

12.jpg

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 端

保存模板,点击预览,效果如下图所示:

13.jpg

2) 移动端

App 与 HTML5 端效果相同,如下图所示:

14.jpg

5. 下载模板编辑

点击下载方案一模板:下拉树控件默认全选方案一.cpt

点击下载方案二模板:下拉树控件默认全选方案二.cpt