本文介绍如何借助activereports构建树形结构报表,并集成进度条可视化功能。
1、新建一份RDL格式的报表模板
2、配置数据源并定义数据集
3、向报表中插入表格控件
4、将表格各列与对应的数据字段进行绑定

5、建立层级化的分组逻辑,细化数据分组规则
6、选中表格控件,在右侧属性面板中点击“属性对话框”按钮打开设置窗口。

7、切换至“详细信息分组”选项卡,输入分组表达式,并指定其上级分组,点击确定完成设置。
8、启用“可见性”动态控制功能,勾选“可通过其他报表项切换”,并在“文本框名称”中填写TextBox4。


9、选中“项目名称”所在单元格,在Padding属性中将Left值设为:=2 + (Level() * 20) & pt,实现缩进式树形展示。
10、优化进度条显示效果
11、增强颜色区间配置能力
12、当项目进度值低于20%时,系统自动识别为高风险状态,并以红色高亮警示。
13、进入脚本编辑区域,粘贴以下代码片段。

14、添加图像控件(Image)
15、在“计划完成进度”和“实际完成进度”对应的单元格中分别插入Image控件,并将其精准嵌入目标单元格内。

16、配置图像控件的数据绑定属性
17、将Source属性设为Database,表明图像数据来源于数据库字段。
18、将Value属性设为:=DataBar(Fields!计划完成进度.Value,0,1,0,Code.GetColor(Fields!计划完成进度.Value)),实现基于数值自动生成带色阶的数据条,直观呈现任务进展。
19、添加序号列(行号)
20、用于生成连续行号的脚本如下所示
21、将对应单元格的表达式值设为Code.GetCounter(),调用计数函数输出序号。
22、调整整体界面样式与布局











