1. 概述
语法:treelayer(TreeObject, Int, Boolean, String)
定义:返回一个树对象 TreeObject 第 n 层的值,一般为树数据集,或下拉树、视图树等树对象,并且可以设置返回值类型及分隔符。
详细解释:
对象 | 定义 | 值 |
---|---|---|
TreeObject | tree 对象 | 例如:$tree |
Int | 想要获得层级的数值 | 最上层为 1 ,第二层为 2 ,依此类推,若无则返回最底层 |
Boolean | 返回值类型 | false:返回值类型为数组,默认值 true:返回值类型为字符串 |
String | 当返回值类型为字符串时的分隔符 | 以双引号表示,默认为逗号:"," |
2. 示例
以一个下拉树控件展示 FRDemo 数据库中的部门层级树为例,来讲解 treelayer 函数的作用。
2.1 新建数据集
2.1.1 新建数据库查询
新建普通报表,新建数据集 ds1,SQL 语句为:select * from department,如下图所示:
2.1.2 新建树数据集
新建一个树数据集 Tree1,数据集为 ds1,依赖字段为 did,父标记字段为 fid,如下图所示:
2.1.3 数据集预览
树数据集效果预览如下图所示:
2.2 添加控件
在参数栏添加两个控件:一个下拉树控件和一个文本控件,如下图所示:
2.2.1 下拉树控件
下拉树控件的控件名称修改为 tree。勾选 多选和结果返回完整层次路径。
数据字典选择自动构建,依靠树数据集 Tree1 构建,实际值和显示值都选择 department。如下图所示:
2.2.2 文本控件
文本控件的控件值选择公式:treelayer($tree, true, "\',\'"),如下图所示:
2.4 效果预览
保存模板,点击预览,勾选总部>人力资源部>人力资源文员、总部>市场部>业务员,如下图所示:
根据文本控件值中填入的公式,预览时的返回值和分隔符也会有所不同,详情如下表所示:
公式 | 返回值 | 分隔符 | 图示 |
---|---|---|---|
treelayer($tree, true, "\',\'") | 人力资源文员 业务员 | ',' | |
treelayer($tree, 2) | 人力资源部 市场部 | , | |
treelayer($tree, 2, true, "\',\'") | 人力资源部 市场部 | ',' |
3. 模板下载
点击下载模板:treelayer函数.cpt