ActiveReports 报表应用教程 (7)—交叉报表及数量透视图完毕方案

在葡萄城ActiveReports报表中得以通过矩阵控件格外便利的达成交叉报表,同时还足以设置数据的分组、排序、过滤、小计、合计等操作,能够满意你报表的智能数据解析等急需。在矩阵控件中组的行数和列数由各类行分组和列分组中的唯一值的个数明确。同时,您能够按行组和列组中的多少个字段或表达式对数码进行分组。在运维时,当组合报表数量和多少区域时,随着为列组添加列和为行组添加行,矩阵将在页面上品位和垂直增加。

由此文书档案目录,用户能够13分清晰的查看报表数据结构,并能方便地跳转到钦赐的章节,最后还是能将报表导出为PDF等格式的公文。本文以二〇一二年各月产品销售分类集中报表为例,演示如何在葡萄城ActiveReports报表控件达成文书档案目录。

在矩阵控件中,也足以包涵早先时代隐藏详细音信数据的密切切换,然后用户便可单击该切换以根据要求体现越来越多或更少的详细音信,以此达成数据向下钻取成效。

1、创建报表文件

在应用程序中开创三个名为
rptMonthlySalesByCategory.cs 的 ActiveReports 报表文件,ActiveReports
区域报表(基于代码)。

咱俩那边即将演示的是产品销售数据解析表,列分组遵照产品体系和产品名称实行分组;行分组依照年和月进行分组,并对销量超越两千的数码进行高亮展现,以下是事无巨细完结步骤:

贰 、创造报表数据源

点击该图标以创设报表数据源,大家应用的数据源是源代码工程中
Data 目录下的
NWind_CHS.mdb,在开辟的表格数据源对话框中,选用”提供程序”选项卡,点击建立连接按钮以打开“数据链接属性”对话框,并接纳“Microsoft Jet 4.0 OLE DB Provider”数据提供器,点击“下一步”按钮切换来“连接”选项卡,点击“…”按钮定位到 NWind_CHS.mdb
文件,然后点击“明确”按钮以成就创立据源的操作。

归来“OLE
DB”选项卡之后在询问区域输入一下 SQL 语句:

SELECT

DATEPASportageT(“yyyy”,订单.订购日期)

AS

订购年,
DATEPATiguanT(“m”,订单.订购日期)

AS

订购月,
类别.类外号称, 连串.表达, 产品.产品名称, 订单明细.数量, 订单明细.单价,
订单明细.折扣

FROM

(( 订单

INNERJOIN

订单明细

ON

订单.订单ID =
订单明细.订单ID)

INNERJOIN

产品

ON

订单明细.产品ID
= 产品.产品ID)

INNERJOIN

类别

ON

产品.类别ID =
类别.类别ID

WHERE

DATEDIFF(“yyyy”,订单.订购日期,’二零一三-01-01′) = 0

ORDERBY

DATEPA瑞鹰T(“yyyy”,订单.订购日期), DATEPACRUISERT(“m”,订单.订购日期), 体系.类别ID,
订单明细.产品ID

 

一 、创造报表文件

在应用程序中创设一个名为
rpt克罗丝Table1.rdlx 的 ActiveReports
报表文件,使用的品种模板为葡萄城ActiveReports报表页面报表,创制完成之后从
VS
的报表菜单项中选用更换为连日来页面布局(CPL)报表,将固定页面报表转换为三番五次页面报表。

叁 、设计报表界面

3.1、在报表设计界面中点击鼠标右键,并精选插入->组头/组尾,此报表中必要插入三级分组,然后设置以下属性:

groupHeader1 DataField=订购月
GroupKeepTogether=FirstDetail
RepeatStyle=OnPage
groupHeader2 DataField=类别名称
GroupKeepTogether=FirstDetail
RepeatStyle=OnPage
groupHeader3 DataField=产品名称
GroupKeepTogether=FirstDetail
RepeatStyle=OnPage

 

3.2、在表格后台代码中添加以下代码,用于安装报表目录:

private void groupHeader1_Format(object sender, EventArgs e) { this.groupHeader1.AddBookmark(txt订购月1.Text);
}

private void groupHeader2_Format(object sender, EventArgs e) { this.groupHeader2.AddBookmark(txt订购月1.Text

  • “\\” + txt类别1.Text);
    }

 

② 、打开报表能源管理器,并根据以下新闻创立报表数据源

名称: NWind_CHS
类型: Micorsoft OleDb Provider
OLE DB 提供程序: Microsoft.Jet.OLEDB.4.0
服务器或文件名称: Data\NWind_CHS.mdb

 

图片 1

四 、运营程序

图片 2

叁 、 添加数据集

在新建的
NWind_CHS
数据源上鼠标右键并选取丰盛多少集菜单项,数据集新闻如下:

常规-名称:SaleDetails

查询-查询:

SELECT

t.*,
连串.类小名称

FROM

(

SELECT

DATEPA大切诺基T(“yyyy”,订单.订购日期)

AS

订购年,
DATEPA牧马人T(“m”,订单.订购日期)

AS

订购月,类别.种类ID,产品.产品名称,订单明细.数量, 订单明细.单价,
订单明细.折扣

FROM

(( 订单

INNERJOIN

订单明细

ON

订单.订单ID =
订单明细.订单ID)

INNERJOIN

产品

ON

订单明细.产品ID
= 产品.产品ID)

INNERJOIN

类别

ON

产品.类别ID =
类别.类别ID )

as

t

INNERJOIN

类别

ON

t.类别ID =
类别.类别ID

ORDERBY

订购年,订购月

 

 

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

http://www.gcpowertools.com.cn/products/activereports\_demo.htm
图片 3

 

连带阅读:

【报表福利大放送】100余套报表模板免费下载 

 矩表 –
现代数量解析中必备的报表工具

 

四 、设计报表界面

从 Visual Studio
工具箱中校 ActiveReports 7 页面布局报表分类下的 Matrix
控件添加到报表设计界面,然后从属性窗口的指令区域选择属性对话框命令,以开辟矩阵控件
Matrix 的性子设置对话框,然后依照以下表格设置矩阵控件 Matrix
的属性:

矩阵-常规-数据集名称: SaleDetails
行分组-常规-添加分组: 名称:Matrix1_订购年
分组:=[订购年]
表达式:=[订购年]
行分组-常规-添加分组: 名称:Matrix1_订购月
分组:=[订购月]
表达式:=[订购月]
列分组-常规-添加分组: 名称:Matrix1_类别名称
分组:=[类别名称]
表达式:=[类别名称]
列分组-常规-添加分组: 名称:Matrix1_产品名称
分组:=[产品名称]
表达式:=[产品名称]

 

成就以上设置之后重回报表设计界面,选中数据单元格
TextBox4
,在质量窗口的授命区域中式点心击属性对话框命令,并根据以下表格设置数据单元格的习性:

常规-值: =Sum([数量] *[单价] * (1-[折扣]))
外观-背景色-颜色: =IIf( (Sum( [数量] *  [单价]  * (1-  [折扣]  )) > 2000) And ( Sum( [数量] *  [单价]  * (1-  [折扣]  )) <> ""  , "#c21952", "White" )

 

须求留意的是,大家将外观-背景象-颜色属性通过表达式的法门来完结对数据的高亮展现,假如销售量当先三千单元格背景象设置为高亮,小于等于3000装置为湖蓝。

最后成功的规划界面如下:

图片 4

 

⑤ 、运维程序

因而 F5
键运维程序,获得以下成效:

 图片 5

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

http://www.gcpowertools.com.cn/products/activereports\_demo.htm
图片 6

相关阅读:

【报表福利大放送】100余套报表模板免费下载 

 矩表 –
现代数据解析中必不可少的报表工具