树数据集

目录:

1. 描述

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

2. 示例

2.1 新建数据集
在数据集面板中新建一个数据集ds1:SELECT * FROM 公司部门,如下图:
2.2 新建树数据集
在上面的ds1数据集的基础上创建一个树数据集,将公司部门的层级结构显示出来。
在数据集面板中点击添加按钮,选择树数据集,如下图:
1)依赖所选数据集的父标记字段构建树
树数据集来源于上面创建的ds1数据集,公司部门中有一个部门ID和上级ID,故可以使用依赖所选数据集的父标记字段构建树,如下图。
需要特别强调的是,此种情况,需要有唯一根节点(就是上级ID为空的节点)。
如果没有,那么构建树时会无法正常建立索引,最后在前台使用下拉树控件时容易出现一些功能问题,比如控件不能给默认值、比如不能模糊搜索等。
点击预览按钮,可以看到如下图所示的数据:
2)依赖所选数据集的标记字段的长度构建树
如果数据表中的字段没有父级字段,而是通过字段的长度来分辨其级别,如下图,公司部门的部门ID字段,其字段长度不一致,但是存在一定的规律,截止到第一个数字表示第一层级部门的部门ID,截止到第二个数字表示第二层级部门的部门ID,以此类推:
我们再新建一个数据集,其数据集来源仍然是ds1,选择依赖所选数据集的标记字段的长度构建树,原始标记字段为部门ID,如下图:
FineReport会自动识别部门ID字段里面的规律,效果与上面依赖所选数据集的父标记字段构建树的效果一致。

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

附件列表


主题:
标签: 已验证

文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201