← 返回所有博客文章

 

在一些统计报表中,常利用树形报表实现维度钻取功能,逐级钻取查看更细粒度的指标数据,那么如何根据维度层次和最细粒度的指标数据,汇总生成这样一个树形结构报表统计报表呢?本文主要介绍了使用ActiveReports 实现树形结构报表,并设置进度条显示功能。

 

(一)报表原型:

 

(二)报表模板:

image

 

(三)数据源结构:

 

image

 

(四)实现思路:

 

1. 使用Table控件,按照级别字段分组;

2. 对不同级别的数据,添加缩进

3. 设置隐藏或展开状态

(五)报表实现:

 

1. 新建RDL 报表模板

 

2. 添加数据源和数据集

 

image

image

 

 

3. 添加Table 控件

 

3.1 绑定数据字段

 

image

 

3.2 设置详细数据分组

 

3.2.1  选中“Table”,在属性窗口中,选择“属性对话框”

 

image

 

3.2.2 选择“详细数据分组”标签,输入表达式:=【编号】;上级分组:=【上级编号】;点击确定。
 
设置“可见性”选择“可见性可以通过其他报表元素进行切换”,输入TextBoxName:TextBox4;

 

image

 

image

 

 

 

3.2.4,选中“项目名称”单元格,设置“Padding”的Left 属性值为:=2 + (Level() * 20) & "pt"

 

4. 设置进度条

 

4.1 添加区间颜色函数;

如果项目进度<0.2 则表示紧急,显示为红色标识等;

4.1.1 选中 “脚本”选项,输入以下代码:

Function GetColor(ByVal value As Double) As String
    If(value < 0.2) Then
        Return "Red"
    ElseIf(value < 0.4) Then
        Return "#F37A5A"
    ElseIf(value < 0.6) Then
        Return "#FFE022"
    ElseIf(value < 0.8) Then
        Return "#B5E610"
    Else
        Return "#00B338"
    End If
End Function

 

 

image

 

4.2 添加Image 控件

 

为“计划完成进度”和“实际完成进度”单元格,添加Image 控件,将Image 控件直接拖拽到单元格中

image

 

4.2.1 为 Image 设置值

1. 设置 Source属性为”Database”

2. 设置Value 属性为“=DataBar(Fields!计划完成进度.Value,0,1,0,Code.GetColor( Fields!计划完成进度.Value))”

 

5. 添加行号

 

5.1 添加行号脚本代码:

Private Dim Counter As Integer = 0

Public Function GetCounter() As Integer
    Me.Counter = Me.Counter + 1
    return Me.Counter
End Function
 
 
 

5.2 设置单元格值为:=Code.GetCounter()

 

6. 调整样式

 

报表模板预览:

http://ars.gcpowertools.com.cn/   目录:“1. 常规报表-》Excel 表格类-》施工进度报告

登录名:Demo  密码: 123456;

您在使用产品过程中有任何疑问,可以登录官方产品技术社区和经验丰富的技术工程师、ActiveReports开发人员交流:了解更多

了解ActiveReports产品更多特性:

/developer/activereports

下载产品体验产品功能:

/download/?pid=16