在对数据字段进行分类管理时,利用动态树折叠数据是一个很好的方法,也就是点击数据前面的加号才展开对应下面的数据,如下图。那这样的效果在制作报表时该如何实现呢? 下面以报表工具FineReport为例介绍。
思路:
通过将模版设置为组织树报表,然后通过设置树节点按钮,最好通过数据分析预览或者form表单预览即可查看效果。
步骤:
1、 初步建立模板
建立模板就相当于建立一个excel的sheet,只不过是cpt的形式。把相应的字段拖到单元格内。
2、 增加树节点按钮
通过设置树节点按钮来实现折叠树,分别右击单元格A1、A2、A3,选择空间设置>按钮,按钮类型选择“树节点按钮”,设置如下:
1、 保存与预览
保存模板,点击设计器中的数据分析,在网页上的预览效果即如上述所示。
动态效果展示:
用户设置了折叠树按钮后,预览报表时没有动态树效果,可能是预览模式错误。
我们是通过按钮控件实现该功能的,而普通的分页预览是不会将控件显示出来,如下图所示:
因此需要在op=view状态即数据分析下才能预览显示出效果。
折叠树延伸
需要在双向折叠树中显示对应的图表,以便查看,如下图所示:
具体步骤如下所示:
1、建立双向折叠树:
首先建立一个双向折叠树,双向折叠树需要注意折叠树数据列不可位于同一行或者同意列
2、设定节点点击事件
为了实现双向折叠树与图标的交互,需要设置树节点的点击事件,通过点击事件将树节点的值作为参数传递给图表。
下面以效果图中食品节点为例来说明控件点击事件的设置。
食品节点事件效果图如下所示
treenode_lb1()方法作用是传参,内容是:
function treenode_lb1(treenode, cv) { if (treenode.selected()) { if (!window.fr_lb1_param){ window.fr_lb1_param = {}; } window.fr_lb1_param[cv] = cv; } else { window.fr_lb1_param[cv] = null; } postParam(); }
demo.js中还有个方法是关联tree.cpt和tree_chart.cpt两个文档,内容是:
FR.doHyperlinkByPost('ReportServer?reportlet=demo/analytics/tree/tree_chart.cpt', {diqu:diqu_str,city:city_str,lb1:lb1_str,lb2:lb2_str,lx1:lx1_str,lx2:lx2_str},'iframe'); }
3、 图表模板的引入
图表模板通过树模板中的一个网页框控件引入,属性如下,关联tree_chart.cpt
上图中,控件名为空,即默认是iframe,如果设置控件名,则必须与最后一个方法中的名字对应
4、图表模版的设置
图表模板中,需要设置根据树节点传参的条件设置。
综上可以看出,动态折叠树的设计思路是点击主格时,控制附属于该组的子项内容展开与折叠,由此到达数据分析的效果。
相关推荐
在MIS 系统的设计中, 报表输出是不可缺少的功能, FineReport 是一个非常不错的报表工具。研究了通过FineReport 设计动态列报表的技术要点。
报表开发工具FineReport中如何把报表放到网页中显示
3. 制作报表 8 3.1. 报表分类 8 3.1.1. 普通报表 9 3.1.2. 填报报表 9 3.2. 报表设计 9 3.2.1. 新建模板 9 3.2.2. 整体设置 10 3.2.3. 模板设计 22 3.2.4. 参数设计 40 3.3. 报表效果预览 50 3.3.1. 设计器预览 50 ...
报表开发工具FineReport中如何把报表放到网页中显示
FineReport怎么制作聚合报表.docx
报表开发工具FineReport搭建物流行业报表平台建设的解决方案
FineReport报表制作流程图解,里面详细介绍了怎样制作报表,有详细的图例。
报表开发工具FineReport参数控件和报表内容自动居中设置方法
报表开发工具FineReport搭建大庆金桥报表解决方案
压缩文件中为已完成cpt模板案例,多源分片报表数据来源是多个数据集构成的集合,同时报表的纵向或横向或双向同时被分成了多个区域,能够很好的应用广泛的交叉报表。
在报表开发工具FineReport中,报表的执行过程大体可分为两步:1、报表计算;2、页面转换。
本资源内容是员工信息填报报表,资源内包含帆软cpt模板文件
finereport报表教程 finereport报表教程 finereport报表教程 finereport报表教程
FineReport报表软件功能编辑 自推出市场以来,FineReport得到多方用户的认可,同时也在不断的改良与升级中变得更加易用,功能更 加强大,也将会给用户带来更新更好的体验。 FineReport报表工具提供了易用且高效率的...
动态列报表,使用参数控件联动筛选需要展示的列的数据,该资源包下包含了已经完成的模板和JS以及所使用的函数公式。
包含的三张图例分别为:listreport、crossreport、Comparereport 图片加制作代码
jQuery是一个快速的,简洁的JavaScript库,能让用户更方便地处理...因为FineReport报表解析后最终成为一个html页面,因此可以使用JS对报表进行各种处理,可以选择使用jQuery框架的所有方法对报表进行操作。
我们有时希望可以在页面左边显示视图树,右边显示子模板,根据动态树节点的不同,动态的显示子模板,如下图:
在用FineReport制作的报表中,在参数界面,往往需要在一个控件中动态的控制其他控件的值,如下图,当username有值时,state自动变为1,否则变为2::
本代码主要开源了java报表工具中报表调用部分的代码,通过该开源代码,你可以了解报表工具的内部原理,掌握国内主流java报表工具的各类接口使用方法,并运用该接口对软件产品或项目中的个性化的需求进行二次开发。...