ActiveReports 报表应用教程 (6)---分组报表

简介: 原文:ActiveReports 报表应用教程 (6)---分组报表在 ActiveReports 中可以设置单级分组、嵌套分组,同时,还可以使用表格、列表以及矩阵等数据区域控件对数据源进行分组操作。
原文: ActiveReports 报表应用教程 (6)---分组报表

在 ActiveReports 中可以设置单级分组、嵌套分组,同时,还可以使用表格、列表以及矩阵等数据区域控件对数据源进行分组操作。分组报表在商业报表系统中应用不胜枚举,客户信息归类统计表、商品分类统计表、销售记录年度、阅读统计等等。本文将介绍如何在 ActiveReports 中实现分组报表。

1、创建报表文件

在应用程序中添加一个 ActiveReports 报表文件,使用的项目模板类型为 ActiveReports 页面报表。添加完成之后从 VS 报表菜单中选择报表属性菜单项,并在外观选项卡中设置报表页边距为 1cm

ActiveReports 报表功能展示 固定页面报表

2、打开报表资源管理器,并按照以下信息创建报表数据源

名称:
NWind_CHS

类型:
Micorsoft OleDb Provider

OLE DB 提供程序:
Microsoft.Jet.OLEDB.4.0

服务器或文件名称:
Data\NWind_CHS.mdb

ActiveReports 报表功能展示 页面报表数据源

3、 添加数据集

在新建的 NWind_CHS 数据源上鼠标右键并选择添加数据集菜单项,数据集信息如下:

常规-名称:Products

查询-查询:

 
 
SELECT 产品.*,类别.类别名称,类别.说明 AS 类别说明,类别.图片 AS 类别图片, 供应商.公司名称 AS 供应商,供应商.联系人姓名,供应商.城市,供应商.地址
FROM (供应商 INNER JOIN 产品 ON 供应商.供应商ID = 产品.供应商ID) INNER JOIN 类别 ON 产品.类别ID = 类别.类别ID
ORDER BY 产品.类别ID;

4、设计报表界面

选中报表的第一页 Page1,点击属性窗口命令区域中【属性对话框】命令链接,在出现的设置对话框中设置以下信息:

常规-数据集名称:
Products

分组-表达式:
=[类别名称]

4.1、从 VS 工具箱中将 Table 控件添加到报表设计界面,设置 Table1 的 FixedSize 为 19cm * 25cm,并按照以下信息各个数据单元格的属性:

单元格行列索引
控件
属性

Cells[1,1]
TextBox
Value=First(Fields!类别名称.Value) & "  (" & First(Fields!类别说明.Value) & ")"

Cells[3,1]
TextBox
Value=Fields!产品名称.Value

Cells[3,2]
TextBox
Value=Fields!单位数量.Value

Cells[3,3]
TextBox
Value=Fields!单价.Value

Cells[3,4]
TextBox
Value=Fields!订购量.Value

Cells[3,5]
TextBox
Value=Fields!再订购量.Value

Cells[3,6]
TextBox
Value=Fields!单价.Value *  Fields!订购量.Value

Cells[3,7]
Image
Value=IconSet("Symbols2",Fields!中止.Value = 0,False,Fields!中止.Value * -1,False,False)

Cells[4,5]
TextBox
Value=Sum(Fields!订购量.Value, "Table1")

Cells[5,5]
TextBox
Value=Sum(Fields!库存量.Value, "Table1")

Cells[6,5]
TextBox
Value=Sum(Fields!单价.Value * Fields!订购量.Value, "Table1")

最终得到的设计界面如下图所示:

ActiveReports 报表功能展示 分组报表

5、运行程序

通过 F5 键运行程序,得到以下运行结果:

ActiveReports 报表功能展示 分组报表

在线演示及源码下载地址:

http://www.gcpowertools.com.cn/products/activereports_demo.htm
ActiveReports 报表功能展示

目录
相关文章
|
7月前
|
存储 人工智能 搜索推荐
使用 CodeBuddy 实现视频合并工具:解决本地视频处理痛点
本地视频合并工具在应对存储空间、网络环境、软件安装和隐私安全等痛点上具有显著优势。而 CodeBuddy 凭借其强大的编程能力,为高效开发功能丰富、个性化的本地视频合并工具提供了可靠途径,让视频合并变得更加简单、便捷、安全。 还没有入手的同学赶紧去试试吧
218 6
使用 CodeBuddy 实现视频合并工具:解决本地视频处理痛点
|
6月前
|
存储 数据采集 数据可视化
Java 大视界 -- 基于 Java 的大数据可视化在城市地下管网管理与风险预警中的应用(275)
本文系统阐述 Java 与大数据可视化技术在城市地下管网管理中的应用,涵盖数据采集、三维建模、风险预警及性能优化,结合真实案例提供可落地的技术方案。
|
6月前
|
缓存 JavaScript 开发者
鸿蒙5开发宝藏案例分享---长列表性能优化解析
鸿蒙长列表性能优化全揭秘!通过五大实战技巧(LazyForEach懒加载、cachedCount缓存、Prefetcher动态预加载、@Reusable组件复用及布局优化),有效解决卡顿、白块和高内存问题。万条数据测试显示,首屏加载提速77%,滑动零丢帧,内存占用降低86%。针对不同数据量场景提供避坑指南,助你开发流畅的HarmonyOS应用!
|
8月前
|
人工智能 自然语言处理 Java
通义灵码:AI编程助手如何重塑开发者的效率革命?
通义灵码是阿里云推出的一款基于通义大模型的智能编程助手,支持Java、Python、Go等主流语言,并深度适配VSCode、JetBrains等开发环境。其核心功能包括自然语言转代码、跨文件上下文理解、行级/函数级实时补全、自动生成单元测试及性能优化建议等。此外,还提供知识问答引擎、文档智能生成和研发大数据分析等进阶功能,助力开发者提升效率。通过重构生产关系,将重复劳动转化为创造性工作,使技术债务可视化,推动人机协同编程新时代的到来。
352 1
|
关系型数据库 MySQL 数据库
MySQL基本操作入门指南
MySQL基本操作入门指南
566 0
|
10月前
|
机器学习/深度学习 编解码
《攻克GANs训练难题:破解模式坍塌迷局》
生成对抗网络(GANs)在图像生成等领域展现巨大潜力,但模式坍塌问题严重影响其性能。模式坍塌指生成器生成的样本多样性急剧降低,仅覆盖部分真实数据分布。原因包括生成器与判别器失衡、损失函数局限性及数据分布复杂性。解决策略涵盖改进训练策略、优化损失函数、增强生成器多样性和利用辅助信息等,通过这些方法可有效缓解模式坍塌,提升GANs的应用效果。
428 16
|
10月前
|
机器学习/深度学习 传感器 数据采集
《DeepSeek赋能工业互联网:解锁数据深度分析新姿势》
DeepSeek作为AI大模型领域的佼佼者,为工业互联网的数据深度分析开辟了新路径。其智能传感器融合技术精准高效地采集各类工业设备数据,并结合边缘计算进行预处理,确保数据实时传输。强大的深度学习算法能挖掘复杂工业数据中的潜在价值,预测生产趋势并实时监测异常,多模态数据融合分析则实现全面洞察。自适应学习能力保障模型持续优化,助力企业降本增效、创新发展,推动制造业迈向新高度。
281 3
|
11月前
|
存储 人工智能 算法
大语言模型的优化及基于Intel® Extension for Transformers 的部署实践
本次分享的主题是大语言模型的优化及基于Intel® Extension for Transformers 的部署实践,由曹慧燕分享。主要分为四个部分: 1. Intel® Extension for Transformers Overview 2. Optimizations 3. Neural Chat 4. Demo
318 1
|
监控 安全
网络传输介质
本文介绍了有线传输介质和无线传输介质。有线传输介质包括双绞线、同轴电缆和光纤,其中双绞线因其成本低、安装便捷而广泛应用;同轴电缆适合长距离传输视频信号;光纤则具有高速、抗干扰等优势。无线传输介质涵盖无线电波、微波、红外线和蓝牙,适用于不同场景下的无线通信需求。
665 1
网络传输介质
|
存储 人工智能 JavaScript
【AI系统】公共表达式消除原理
公共子表达式消除(CSE)是编译器优化技术,旨在通过识别并消除重复计算的表达式,减少计算量,提升程序执行效率。CSE分为局部和全局两种,局部CSE仅在单个基本块内操作,而全局CSE跨越多个基本块。技术手段包括局部值编号和缓式代码移动等,广泛应用于传统编译器及AI编译器中,有效简化计算图,降低计算成本。
442 4