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

使用葡萄城报表控件——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. Vue + Vuex 简单使用

    我们要实现的很简单,就是点击+1的count加一,点击-1的时候count-1 一.mutation 在vue 中,只有mutation 才能改变state.  mutation 类似事件,每一个mu ...

  2. CKEditor从word粘贴问题

    最近公司做项目需要实现一个功能,在网页富文本编辑器中实现粘贴Word图文的功能. 我们在网站中使用的Web编辑器比较多,都是根据用户需求来选择的.目前还没有固定哪一个编辑器 有时候用的是UEditor ...

  3. tomcat使用实践三种运行模式之apr

    tomcat有三种运行模式 nio,bio,apr bio是阻塞式IO操作,使用的是传统的java i/o处理方式,对于每一个请求都要创建一个线程来进行处理,所以开销较大不适合处理高并发的场景 nio ...

  4. 关于bert+lstm+crf实体识别训练数据的构建

    一.在实体识别中,bert+lstm+crf也是近来常用的方法.这里的bert可以充当固定的embedding层,也可以用来和其它模型一起训练fine-tune.大家知道输入到bert中的数据需要一定 ...

  5. shell 里的正则

    #!/bin/bash variable="This is a fine mess." echo "$variable" # Regex matching wi ...

  6. 从JMS到KafKa

    从JMS到KafKa JMS (1)JMS概念 JMS(Java Message Service,java消息服务)API是一个消息服务的标准或者说是规范,允许应用程序组件基于JavaEE平台创建.发 ...

  7. JS的数据储存格式

    javaScript有三种数据存储方式,分别是:sessionStoragelocalStoragecookier 相同点:都保存在浏览器端,同源的 不同点:①传递方式不同cookie数据始终在同源的 ...

  8. 提交本地文件至gitlab已有的项目中(更新gitlab)

    gitlab代码更新 gitlab官网 1.安装git git官网 官网下载安装,安装过程一直next即可(路径自己选) 2.clone至本机 格式:git clone url(可转到指定目录克隆) ...

  9. js将正整数转化为二进制

    //正整数转化为二进制 function divideBy2(decNumber) { var decStack = []; var rem; var decString = ''; while (d ...

  10. dubbo备忘

    http://start.dubbo.io/ https://github.com/dubbo/dubbo-samples https://www.aliyun.com/product/edas ht ...