treelayer函数
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