前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【案例分享】项目施工进度报告 - 树形报表

【案例分享】项目施工进度报告 - 树形报表

作者头像
葡萄城控件
发布2022-05-09 15:43:59
5560
发布2022-05-09 15:43:59
举报
文章被收录于专栏:葡萄城控件技术团队

树形分组(也称逐级展开或钻取)是统计报表中常见的一种功能和样式,常利用树形报表实现维度钻取功能,逐级查看更细粒度的指标数据,那么如何根据维度层次和最细粒度的指标数据,汇总生成这样一个树形结构报表统计报表呢?

下面将使用葡萄城报表 Table 控件实现树形结构报表,并设置进度条显示功能。

一、报表模板

二、数据源结构

三、实现思路

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

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

3. 设置隐藏或展开状态

四、报表实现

1. 新建RDL 报表模板

2. 添加数据源和数据集

3. 添加 Table 控件

3.1 绑定数据字段

3.2 绑定数据字段

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

3.2.2 选择“详细数据分组”标签,输入表达式:=【编号】;上级分组:=【上级编号】;点击确定。

设置“可见性”选择“可见性可以通过其他报表元素进行切换”,输入TextBoxName:TextBox4;

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

4. 设置进度条

4.1 添加区间颜色函数(如果项目进度<0.2 则表示紧急,显示为红色标识等)

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

代码语言:javascript
复制
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

4.2 添加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 添加行号脚本代码

代码语言:javascript
复制
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. 调整一下字体和显示样式

最终效果

转载请注明出自:葡萄城报表

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-07-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、报表模板
  • 二、数据源结构
  • 三、实现思路
  • 四、报表实现
  • 最终效果
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档