报表应用之组织树报表.pdf

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
报表应用之组织树报表

报表应用之组织树报表 组织树报表示例 1.描述 数据库中比较常见的一种表结构就是表中包含了id与parentid两个字段,希望根据这 两个字段实现如下图所示的组织树效果: 可以看到 ,组织的每个层次都来自于同一列部门ID ,即同一列的数据之间 ,存在包含与 被包含关系,如何分别获取每一层的数据呢? 2.示例 2.1新建报表,添加数据集 新建工作薄 ,添加数据集ds1 ,SQL语句为SELECT*FROM[公司部门] ,查询出公司 部门表,该表即为典型的id与parentid结构。 由数据可以看出,该组织结构包含3层 ,因此我们需要将这三层分别取出来。最终模板 效果如下: 2.2第一层 将部门ID拖拽至A1单元格,默认扩展出所有部门ID ,通过过滤条件筛选出第一层部 门; 由数据可以看出,第一层上级ID为空 ,因此选中A1单元格 ,点击过滤 ,添加条件上级 ID 等于 NULL,如下图设置: 注:根据数据的不同过滤条件相应改变。 2.3第二层 再次将部门ID拖拽至A2单元格 ,默认仍会扩展出所有部门ID ,设置A2的父格为A1 , 使得该级部门ID能够跟随上级部门ID 自动扩展; 设置父格后会发现,取出的第二层数据与第一层相同:由于设置了父格,A1、A2 中数 据列又来自于同一数据集,此时子格默认会将父格作为过滤条件,即会筛选出部门ID=父 ID的数据,导致始终选出与上一层相同的部门。因此需要选中A2单元格,点击过滤 ,去 掉将父格子作为过滤条件。 同时添加过滤条件上级ID 等于 A1,如下图: 2.4第三层 第三层的原理与第二层相同 ,进行同样的设置即可。若数据中组织层数不止三层 ,可以 按照相同的方法添加。 注:子层单元格必须去掉将父格子作为过滤条件。 2.5其他设置 模板中使用的是部门ID ,若要显示为相应的部门名称,可以通过数据字典进行转换。 若某一层中有些有子层 ,有些没有子层 ,此时由于扩展会出现一些空白行 ,可以将空白 行隐藏。 2.6保存并预览 保存模板。设计器中点击分页预览,即可看到如上的效果。 树数据集实现组织树报表 1.问题描述 组织树报表中由id与父id来实现组织树报表,若层级数较多时,对每个单元格设置过 滤条件和形态会比较繁琐 ,因此FineReport提供了一种特殊的数据集——树数据集 ,只要 要简单的设置就能自动递归出层级,方便的实现如下图组织树报表: 2.示例 2.1新建报表,添加数据集 新建工作薄 ,添加数据集ds1取出原始数据 ,SQL语句为SELECT*FROM[公司部门]。 2.2定义树数据集  根据父字段构建树 使用情形 :原始表结构中符合ID、parentID结构 ,我们可以通过父ID这个字段生成树 , 添加树数据集,如下图:  根据数据长度构建树 使用情形 :原始表结构中所有ID都在一列中 ,且没有父ID字 ,但是ID是有规律的 , 每组的长度相同,且子级的前 N位就是父级编号,添加树数据集,如下图: 2.3预览数据 预览树数据集 ,可看到已自动生成递归树数据 ,FR_GEN_0为最高层 ,依次往下 ,如下 : 2.4模板制作 按照下图所示将对应的数据列拖入到单元格中,并将A2单元格的左父格设置为A1 , A3单元格的左父格设置为A2 : 2.5条件属性 有上面预览数据可以看到从二层FR_GEN_1开始 ,就会有空白数据 ,这是因为数据库中 存储的数据有上一级部门本身的部门名称和部门ID ,其上一级部门的部门级数会低一级, 比如说上述数据的第一行为总部 ,虽然总部下面有子部门 ,但是数据库中还是要存储总部这 个部门的部门名称和部门ID的 ,总部对应的级数为一级 ,那么其对应的数据记录行里面就 只有 FR_GEN_0层,下面的 FR_GEN_1和 FR_GEN_2这两层就会没有数据,显示为空白。 在模板制作过程中 ,从第二层级开始就会有空白数据 ,需要将空白数据隐藏掉 ,选中A2 和A3单元格,添加条件属性,当数据为空时隐藏该行,如下图: 注 :如果组织结构的层级结构不确定 ,即有的层级有子层 ,有的层级没有子层时 ,其组 织树报表的实现方式请查看不规范组织树报表 2.6其它设置 由于自动生成的字段是编码,可以使用数据字典将其转为对应的部门名称。 3.保存与预览 保存模板。点击分页预览,效果如上。 不规范组织树报表 1.问题描述

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档