在一些统计报表中,利用树形结构报表来实现维度钻取功能是十分常见的。通过逐级钻取,可以快速查看更细粒度的指标数据,如项目施工进度报告等。

使用葡萄城报表控件——ActiveReports ,即可轻松设计树形结构报表,以及设置进度条显示等功能。

什么样的报表样式被称为树形结构报表呢?让我们先来看看“树形结构”报表的展示样式。

了解了树形结构报表模板的样式,下面我们就来详细讲解如何使用ActiveReports 完成“基于.NET架构的动态树形结构报表”的设计步骤。

一、绑定数据源和数据集

动态报表与静态报表最大的区别,在于能否绑定数据源和数据集。要实现一张专业的“树形结构”报表,我们需要绑定的数据结构是什么样的呢?如下,就是典型的“树形结构”报表数据源,使用ActiveReports 链接该数据源:

二、拖入表格组件,进行分组设计

如下是ActiveReports 报表设计器中的截图,子分组是编号,父分组是上级编号。

三、优化报表样式

为了使主分组和子分组之间有一个缩进的功能,以便于更好地区分信息。这里,我们需要对边距进行设置:左边距 = 5 + (Level() * 25) & "pt"。

其中level()代表了分组是第几级:

四、添加展开、合并按钮

这里,主要是为树形结构报表添加自分组合并和展开功能,也就是“+”、“-”按钮的功能设置。

由于要在项目名称这里添加一个可用于“合并和展开”的按钮,所以要在可见性区域,绑定项目名称对应的文本框:TextBox4

切换图表的样式,有如下属性:Expanded(展开)和 Collapsed(合并)

五、显示进度条

在此报表模板中,进度条是通过图像(image)控件来显示的。

要显示进度条,只需拖入一个容器到table里,然后在容器里放入一个图像(image)控件。接下来进行如下设置:

选择进度条 databar:

调整值和颜色的设置:

六、预览效果

如上,一张树形结构报表就设计好了,全程基本都是通过拖拉拽的方式,无需编写一段代码,即可轻松设计报表模板,这就是ActiveReports 的魅力所在。当然,ActiveReports 的报表设计能力不仅于此,学习更多应用教程,请访问 ActiveReports 技术论坛

基于.NET架构的树形动态报表设计与应用的更多相关文章

  1. 3-1. 基于epoll架构的视频采集端设计

    精通epoll架构 epoll:Linux中最优秀的多路复用机制! 与select .poll区别 1.select和poll没有太大区别,除了select有文件描述符限制(1024个).select ...

  2. Java生鲜电商平台-系统报表设计与架构

    Java生鲜电商平台-系统报表设计与架构 说明:任何一个运行的平台都需要一个很清楚的报表来显示,那么作为Java开源生鲜电商平台而言,我们应该如何设计报表呢?或者说我们希望报表来看到什么数据呢?   ...

  3. 基于 MongoDB 动态字段设计的探索 (二) 聚合操作

    业务需求及设计见前文:基于 MongoDB 动态字段设计的探索 根据专业计算各科平均分 (总分.最高分.最低分) public Object avg(String major){ Aggregatio ...

  4. MIS系统开发利器,实施、维护人员自定义报表的福音,AgileEAS.NET SOA平台动态报表指南

    一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...

  5. 架构师修炼 III - 掌握设计原则

    关于软件的设计原则有很多,对于设计原则的掌握.理解.实践及升华是架构师的一项极为之必要的修炼. 记得在12年前第一次阅读<敏捷开发>时,五大基本设计原则就深深地植入到我的脑海中一直影响至今 ...

  6. HighCharts SVN IReport进行PDF报表设计--模板

    BOS物流项目笔记第十五天 HIghcharts是很强大的图表绘制插件,它是基于纯js绘制的.当然地,对于图表也会有很多操作了.下面就我工作时遇到的一些比较常见的highcharts的操作进行小结,不 ...

  7. 基于WebServices简易网络聊天工具的设计与实现

    基于WebServices简易网络聊天工具的设计与实现 Copyright 朱向洋 Sunsea ALL Right Reserved 一.项目内容 本次课程实现一个类似QQ的网络聊天软件的功能:服务 ...

  8. 如何基于LSM-tree架构实现一写多读

    一  前言 PolarDB是阿里巴巴自研的新一代云原生关系型数据库,在存储计算分离架构下,利用了软硬件结合的优势,为用户提供具备极致弹性.海量存储.高性能.低成本的数据库服务.X-Engine是阿里巴 ...

  9. 基于AgileEAS.NET企业应用平台实现基于SOA架构的应用整合方案-开篇

    开篇 系统架构的文章,准备在这段时间好好的梳理和整理一下,然后发布基于AgileEAS.NET平台之上的企业级应用架构实践,结合具体的案例来说明AgileEAS.NET平 台之上如何进行系统的逻辑架构 ...

随机推荐

  1. ImageSharp跨平台图片处理

    添加nuget引用 SixLabors.ImageSharp 和SixLabors.ImageSharp.Drawing 暂时只实现了缩略图..<pre>using SixLabors.I ...

  2. OpsManage安装过程中遇到的问题和解决方案

    系统地址:https://github.com/welliamcao/OpsManage 系统:ubuntu ubuntu使用apt-get进行自动化安装 自带python2.7,不需要再次安装 1. ...

  3. HDU 3689 Infinite monkey theorem ——(自动机+DP)

    这题由于是一个单词,其实直接kmp+dp也无妨.建立自动机当然也是可以的.设dp[i][j]表示匹配到第i个字母的时候,在单词中处于第j个位置的概率,因此最终的答案是dp[0~m][len],m是输入 ...

  4. Java核心复习 —— ArrayList源码阅读

    一.ArrayList 介绍 ArrayList是List接口可变数组的实现. 特点 非线程安全 查找和修改效率高 二.ArrayList 使用方法 remove元素 @Test public voi ...

  5. Kettle环境的安装

    Kettle是绿色免安装的,下载完解压之后找到Spoon.bat,直接执行就好 欢迎界面 Kettle主要分为转换和作业2类 新建一个转换demo 创建了一个转换demo后,由于是数据抽取,因此我们抽 ...

  6. mac安装genymotion遇到的问题记录

    1.出错内容:An error occured while deploying the file或者使用adb devices连接的时候出现下面的错误 adb server version (40) ...

  7. linux环境中关闭tomcat,通过shutdown.sh无法彻底关闭--线程池

    最近测试环境上测试的项目通过shutdown.sh始终无法彻底关闭. 之前临时解决方法两种: 第一:通过ps -ef|grep tomcat查看到tomcat的进程直接使用kill来杀死进程. 第二: ...

  8. Linux设备驱动程序 之 信号量和互斥体

    概念 一个信号量本质是一个整数值,它和一堆函数联合使用,这一对函数通常称为P和V:希望进入临界区的进程将在相关信号量上调用P:如果信号量的值大于零,则该值会减少1,进程可以继续执行:相反,如果信号量的 ...

  9. 黑马vue---21-22、总结

    黑马vue---21-22.总结 一.总结 一句话总结: · 在 VM 实例中,如果要访问 data 上的数据,或者要访问 methods 中的方法, 必须带 this · 在 v-for 要会使用 ...

  10. QT .pro文件中的变量说明

      https://blog.csdn.net/tanou3212/article/details/79942840 TEMPLATE:定义了工程的编译模式 赋值方式为:TEMPLATE=app (1 ...