ActiveReports 的图表控件支持绝大多数经常使用的二维和三维图表类型。包含XY图表和財务图表。通过使用图表控件的定制功能,如改动坐标轴、图注、图例等,用户能够创建不论什么其所须要的图表效果。用户还能够通过代码把定义好的图表输出为多种图像格式。 本文将演示怎样在 ActivReports 中实现图文混淆报表。
我们将要实现的是2011年度各类产品销量统计报表,当中图表依照产品类别统计销量,表格依照类别和月份统计销售量。
1、创建报表文件
在 ASP.ENT 应用程序中加入一个名为 rptSalesByCategory.rdlx 的页面报表(PageReport)文件。使用的报表模板为“ActiveReports 7 页面报表”。创建完毕之后通过 VS 的下面菜单完毕报表转换操作:
2、为 rptSalesByCategory 报表加入数据源
通过 VS2010 “菜单” –> “其它窗体” –> “报表资源管理器 V7 ” 打开 ActiveReports 报表资源管理器,在数据源节点上鼠标右键。并选择“加入数据源”。在出现的报表数据源对话框中。输入下图所看到的的信息:
2.1、在新创建的 NWind_CHS 数据源节点上鼠标右键,并选择加入数据集,在出现的数据集对话框中输入一下信息:
常规选项卡 –> 名称:Sales
查询选项卡 –> 查询:
类别.类别名称,t.* (
类别.类别ID,(订单明细.数量) 销售量 (( 订单
订单明细 订单.订单ID = 订单明细.订单ID)
产品 订单明细.产品ID = 产品.产品ID)
类别 产品.类别ID = 类别.类别ID
DATEDIFF("yyyy",订单.订购日期,'2011-01-01') = 0
类别.类别ID, 类别.类别名称
类别.类别ID, 类别.类别名称 ) t
类别 t.类别ID = 类别.类别ID
2.2、在 NWind_CHS 数据源节点上鼠标右键。并选择加入数据集。在出现的数据集对话框中输入一下信息:
常规选项卡 –> 名称:SaleDetails
查询选项卡 –> 查询:
类别.类别名称,t.* (
DATEPART("m",订单.订购日期) 订购月,类别.类别ID,(订单明细.数量) 销售量 (( 订单
订单明细 订单.订单ID = 订单明细.订单ID)
产品 订单明细.产品ID = 产品.产品ID)
类别 产品.类别ID = 类别.类别ID
DATEDIFF("yyyy",订单.订购日期,'2011-01-01') = 0
DATEPART("m",订单.订购日期),类别.类别ID, 类别.类别名称
DATEPART("m",订单.订购日期),类别.类别ID, 类别.类别名称 ) t
类别 t.类别ID = 类别.类别ID
3、创建图表对象
从 VS 工具箱中将 Chart 控件加入到报表设计界面,选中 Chart 后在属性窗体中的命令区域会显示 Chart 相关的操作命令,我们点击【图表数据…】命链接,此时会显示图表数据对话框。依照下面截图完毕 Chart 的设置:
3.1 图表数据-常规设置
名称:
Chart1工具提示:
2011年度各类产品销售量统计表数据集名称:
Sales3.2、图表数据-系列值
系列标签:
销售量值:
=Sum([销售量])3.3、图表数据-类别分组
分组-表达式:
=[类别名称]标签:
=[类别名称]
4、创建数据明细表
我们将使用矩阵控件 Matrix 来显示每月。每类产品的销售量。从 VS 工具箱中将矩阵控件 Matrix 加入到报表设计界面,并选择矩阵控件,此时在属性窗体中的命令区域会显示【属性对话框…】命令链接,点击该链接。
4.1、矩阵-常规设置
数据集名称:
SaleDetails4.2、矩阵-行分组
常规-分组-表达式:
=[订购月]排序-表达式:
=[订购月]4.3、矩阵-列分组
常规-分组-表达式:
=[类别名称]4.4、我们得到的终于设计效果和执行效果例如以下图所看到的:
5、执行程序
源代码下载地址: