历史版本8 :树数据集 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 描述编辑

在数据库中常常可以看到一种表结构,表中包含了id与parentid两个字段或者某一个字段的长度有一定规律,这种表结构就存在着一种层级关系,通过下拉树或者折叠树来显示层级结构,比如说部门的层级结构,如下图:
那么如何通过将数据表中的二维结构展现出这种树状的层级关系呢,FineReport提供了树数据集的概念,为控件绑定树数据集,web端查看时就会自动生成树形层级结构。

2. 示例编辑

2.1 新建数据集
在数据集面板中新建一个数据集ds1:SELECT * FROM 公司部门,如下图:
2.2 新建树数据集
在上面的ds1数据集的基础上创建一个树数据集,将公司部门的层级结构显示出来。
在数据集面板中点击添加按钮,选择树数据集,如下图:
1)依赖所选数据集的父标记字段构建树
树数据集来源于上面创建的ds1数据集,公司部门中有一个部门ID和上级ID,故可以使用依赖所选数据集的父标记字段构建树,如下图:
点击预览按钮,可以看到如下图所示的数据:
2)依赖所选数据集的标记字段的长度构建树
如果数据表中的字段没有父级字段,而是通过字段的长度来分辨其级别,如下图,公司部门的部门ID字段,其字段长度不一致,但是存在一定的规律,截止到第一个数字表示第一层级部门的部门ID,截止到第二个数字表示第二层级部门的部门ID,以此类推:
我们再新建一个数据集,其数据集来源仍然是ds1,选择依赖所选数据集的标记字段的长度构建树,原始标记字段为部门ID,如下图:
FineReport会自动识别部门ID字段里面的规律,效果与上面依赖所选数据集的父标记字段构建树的效果一致。

注:部门ID,上级部门ID,部门名是三个建树字段,在实际操作中,部门ID和部门名必须对应,不能存在部门ID相同的情况。

3. 典型应用