FineReport中树数据集如何实现组织树报表

发布时间:2020-07-21 01:17:51 作者:雄霸天下啦
来源:网络 阅读:451

组织树报表中由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中树数据集如何实现组织树报表 

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


推荐阅读:
  1. FineReport中如何制作树数据集来实现组织树报表
  2. 《树》之伸展树

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

report 数据集 fine

上一篇:Linux基础命令(上)

下一篇:rdma centos 7.3安装

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》