适用场景
适合组织、地区、目录等由 id 与 parentId 描述的父子层级;不适合没有稳定父子标识的普通分组数据。
最终效果
根节点显示区域,子节点逐级缩进;点击树节点按钮可以展开或收起下级城市、门店。

本例功能
- id/parentId 构建树数据集
- 多层级单元格自定义父格
- 数据查询显示名称、保留节点 id
- 树节点按钮控制展开收起
最小数据集
| 字段 | 类型 | 用途 |
|---|---|---|
| id | 文本 | 当前节点唯一标识 |
| parentId | 文本或空 | 父节点标识 |
| 名称 | 文本 | 节点显示值 |
[
{ "id": "region-east", "parentId": null, "名称": "东部区域" },
{ "id": "city-lake", "parentId": "region-east", "名称": "湖城" },
{ "id": "store-spring", "parentId": "city-lake", "名称": "春风门店" }
]
报表结构设计
先用普通数据集读取三列,再以 id 为当前标识、parentId 为父标识创建树数据集。把树数据集产生的第 1、2、3 层字段放在 A1、A2、A3。
数据绑定
A1 绑定第 1 层,A2 绑定第 2 层并以 A1 为左父格,A3 绑定第 3 层并以 A2 为左父格。A1:A3 全部设置纵向扩展,三个单元格的数据查询都以 id 为实际值、名称为显示值。
关键配置
配置路径:数据源设置 → 新增树数据集;单元格属性 → 扩展 → 父格;单元格属性 → 形态。
- 在“数据源设置”中新增树数据集,选择原数据集,并明确当前 ID 字段为
id、父 ID 字段为parentId。 - 将三个层级字段拖入 A1:A3,先把 A1:A3 全部设置为纵向扩展,再设置 A2 的自定义左父格为 A1、A3 的自定义左父格为 A2。
- 给没有层级值的 A2、A3 设置条件属性,将空行行高设为 0。
- 给 A1、A2 添加“树节点按钮”,让有子项的节点可展开或收起。
预览验证
- 东部区域、湖城、春风门店按三级层次出现,西部区域与其子节点形成另一棵树。
- 点击根节点后,下级节点整体收起,再次点击恢复。
- 不存在第三层的分支不应留下空白行。
常见错误
- 所有节点都在根级 → parentId 没有匹配父节点 id → 检查大小写、空值和字符串内容。
- 点击节点不折叠 → 未添加树节点按钮或父格链断开 → 检查按钮与 A1/A2 父子关系。
- 出现空白层级行 → 空值行未隐藏 → 给 A2/A3 增加空值时行高为 0 的条件属性。
