树数据集

编辑
  • 文档创建者:加菲喵
  • 浏览次数:18720次
  • 编辑次数:14次
  • 最近更新:Kevin-s 于 2019-07-01
  • 1. 描述

    在数据库中常常可以看到一种表结构,表中包含了 ID 与 parent ID 两个字段或者某一个字段的长度有一定规律,这种表结构就存在着一种层级关系,通过下拉树或者折叠树来显示层级结构,比如说部门的层级结构,如下图:


    那么如何通过将数据表中的二维结构展现出这种树状的层级关系呢,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 相同的情况。

    3. 典型应用

    附件列表


    主题: 设计思路
    标签: 暂无标签 编辑/添加标签
    如果您认为本文档还有待完善,请编辑

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

    此页面有帮助吗?只是浏览 [ 去社区提问 ]