广告
返回顶部
首页 > 资讯 > 精选 >FineReport中树数据集怎么实现组织树报表
  • 769
分享到

FineReport中树数据集怎么实现组织树报表

2023-06-03 03:06:17 769人浏览 独家记忆
摘要

FineReport中树数据集怎么实现组织树报表,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 组织树报表中由id与父id来实现组织树报表,若层级数较多时,对每个单元格设置过滤

FineReport中树数据集怎么实现组织树报表,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

组织树报表中由id与父id来实现组织树报表,若层级数较多时,对每个单元格设置过滤条件和形态会比较繁琐,因此FineReport提供了一种特殊的数据集——树数据集,只需要简单的设置就能自动递归出层级,方便的实现如下图组织树报表:

图一

FineReport中树数据集怎么实现组织树报表

图二

FineReport中树数据集怎么实现组织树报表

构建树

  • 新建报表,添加数据集

新建工作薄,添加数据集ds1取出原始数据,sql语句为SELECT * FROM 公司部门。

  • 定义树数据集

1)根据父字段构建树

使用情形:原始表结构中符合ID、parentID结构,我们可以通过父ID这个字段生成树,添加树数据集,如下图:


FineReport中树数据集怎么实现组织树报表

FineReport中树数据集怎么实现组织树报表

2)根据数据长度构建树

使用情形:原始表结构中所有ID都在一列中,且没有父ID字段,但是ID是有规律的,每组的长度相同,且子级的前N位就是父级编号,添加树数据集,如下图:


FineReport中树数据集怎么实现组织树报表

FineReport中树数据集怎么实现组织树报表

  •  预览数据

预览树数据集,可看到已自动生成递归树数据,FR_GEN_0为最高层,依次往下,如下:

FineReport中树数据集怎么实现组织树报表

纵向组织树编辑

按照下图所示将对应的数据列拖入到单元格中,并将A2单元格的左父格设置为A1,A3单元格的左父格设置为A2:

  FineReport中树数据集怎么实现组织树报表

  • 条件属性

有上面预览数据可以看到从二层FR_GEN_1开始,就会有空白数据,这是因为数据库中存储的数据有上一级部门本身的部门名称和部门ID,其上一级部门的部门级数会低一级,比如说上述数据的第一行为总部,虽然总部下面有子部门,但是数据库中还是要存储总部这个部门的部门名称和部门ID的,总部对应的级数为一级,那么其对应的数据记录行里面就只有FR_GEN_0层,下面的FR_GEN_1和FR_GEN_2这两层就会没有数据,显示为空白。

在模板制作过程中,从第二层级开始就会有空白数据,需要将空白数据隐藏掉,选中A2和A3单元格,添加条件属性,当数据为空时隐藏该行,如下图:

 FineReport中树数据集怎么实现组织树报表

如果组织结构的层级结构不确定,即有的层级有子层,有的层级没有子层时,其组织树报表的实现方式请查看不规范组织树报表

  • 其它设置

由于自动生成的字段是编码,可以使用数据字典将其转为对应的部门名称,如下图:

FineReport中树数据集怎么实现组织树报表 

  • 保存与预览

保存模板,点击分页预览,效果如图一。

横向组织树编辑

按照下图所示将对应的数据列拖入到单元格中,在右侧单元格属性表-扩展属性中将B1、C1单元格的扩展方向设为横向,

并将B1单元格的左父格设置为A1,C1单元格的左父格设置为B1:

FineReport中树数据集怎么实现组织树报表 

  • 条件属性

有上面预览数据可以看到从二层FR_GEN_1开始,就会有空白数据,这是因为数据库中存储的数据有上一级部门本身的部门名称和部门ID,其上一级部门的部门级数会低一级,比如说上述数据的第一列为总部,虽然总部下面有子部门,但是数据库中还是要存储总部这个部门的部门名称和部门ID的,总部对应的级数为一级,那么其对应的数据记录列里面就只有FR_GEN_0层,下面的FR_GEN_1和FR_GEN_2这两层就会没有数据,显示为空白。

在模板制作过程中,从第二层级开始就会有空白数据,需要将空白数据隐藏掉,选中B1和C1单元格,添加条件属性,当数据为空时隐藏该列,如下图:

FineReport中树数据集怎么实现组织树报表

如果组织结构的层级结构不确定,即有的层级有子层,有的层级没有子层时,其组织树报表的实现方式请查看不规则组织树报表

  • 其它设置

由于自动生成的字段是编码,可以使用数据字典将其转为对应的部门名称,如下图:

FineReport中树数据集怎么实现组织树报表 

  • 保存与预览

保存模板,点击分页预览,效果如图二。

看完上述内容,你们掌握FineReport中树数据集怎么实现组织树报表的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网精选频道,感谢各位的阅读!

--结束END--

本文标题: FineReport中树数据集怎么实现组织树报表

本文链接: https://www.lsjlt.com/news/232525.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • FineReport中树数据集怎么实现组织树报表
    FineReport中树数据集怎么实现组织树报表,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 组织树报表中由id与父id来实现组织树报表,若层级数较多时,对每个单元格设置过滤...
    99+
    2023-06-03
  • FineReport中如何制作树数据集来实现组织树报表
    1. 问题描述FineReport,组织树报表中由id与父id来实现组织树报表,若层级数较多时,对每个单元格设置过滤条件和形态会比较繁琐,因此FineReport提供了一种特殊的数据集——树数据集...
    99+
    2022-10-18
  • php 中怎么实现树形数组
    这篇文章给大家介绍php 中怎么实现树形数组,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。$items = array(   0 =&...
    99+
    2022-10-19
  • MySQL中怎么实现树状数据
    本篇文章为大家展示了MySQL中怎么实现树状数据,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。0 树状数据的分类我们在mysql数据库设计的时候,会遇到一种树状的数...
    99+
    2022-10-18
  • Java中怎么实现一个双数组Trie树
    本篇文章给大家分享的是有关Java中怎么实现一个双数组Trie树,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。对于插入字符串,如果有一个字符串是另一个字符串的子串的话,我是将结...
    99+
    2023-06-17
  • 怎么在Vue中使用Element实现一个树列表组件
    怎么在Vue中使用Element实现一个树列表组件?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1、常规树列表控件的使用众所周知,一般界面很多情况涉及到树列表的处理,如类型...
    99+
    2023-06-15
  • 大数据中分组报表怎样实现折叠伸缩效果
    这篇文章将为大家详细讲解有关大数据中分组报表怎样实现折叠伸缩效果,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在业务系统中分组统计是比较常见的数据分析形式,但当数据项较多,或分组的层级过多时...
    99+
    2023-06-04
  • 大数据中大屏报表中怎么实现多图表间的联动
    大数据中大屏报表中怎么实现多图表间的联动,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。方法 1: 如果有提供 DBD 功能的报表工具,那么可以直接使用 DBD 中自带的联动设置...
    99+
    2023-06-03
  • 大数据中大屏报表组件间的联动交互效果实现方法是什么
    这篇文章给大家介绍大数据中大屏报表组件间的联动交互效果实现方法是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在迅猛发展的信息时代,大屏展示已经广泛应用于通讯、电力、军队指挥机构, 在提供共享信息、决策支持、态势显...
    99+
    2023-06-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作