ActiveReports 表实战应用教程(五)——交叉 表及数据透视图实现方案

在ActiveReports 中可以通过矩阵控件非常方便的实现交叉 表,同时还可以设置数据的分组、排序、过滤、小计、合计等操作,可以满足您 表的智能数据分析等需求。在矩阵控件中组的行数和列数由每个行分组和列分组中的唯一值的个数确定。同时,您可以按行组和列组中的多个字段或表达式对数据进行分组。在运行时,当组合 表数据和数据区域时,随着为列组添加列和为行组添加行,矩阵将在页面上水平和垂直增长。

在矩阵控件中,也可以包括最初隐藏详细信息数据的明细切换,然后用户便可单击该切换以根据需要显示更多或更少的详细信息,以此实现数据向下钻取功能。

我们这里将要演示的是产品销售数据分析表,列分组按照产品类别和产品名称进行分组;行分组按照年和月进行分组,并对销量大于2000的数据进行高亮显示,以下是详细实现步骤:

1. 创建 表文件

在应用程序中创建一个名为 rptCrossTable1.rdlx 的 ActiveReports 表文件,使用的项目模板为 ActiveReports RDL 表。

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

ActiveReports 表实战应用教程(五)——交叉 表及数据透视图实现方案 ActiveReports 表实战应用教程(五)——交叉 表及数据透视图实现方案

3. 添加数据集

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

常规-名称:SaleDetails

查询-查询:

SELECT t.*, 类别.类别名称 FROM (
SELECT DATEPART(“yyyy”,订单.订购日期) AS 订购年, DATEPART(“m”,订单.订购日期) AS 订购月,类别.类别ID,产品.产品名称,订单明细.数量, 订单明细.单价, 订单明细.折扣 FROM (( 订单
INNER JOIN 订单明细 ON 订单.订单ID = 订单明细.订单ID)
INNER JOIN 产品 ON 订单明细.产品ID = 产品.产品ID)
INNER JOIN 类别 ON 产品.类别ID = 类别.类别ID ) as t
INNER JOIN 类别 ON t.类别ID = 类别.类别ID
ORDER BY 订购年,订购月

4. 设计 表界面

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

ActiveReports 表实战应用教程(五)——交叉 表及数据透视图实现方案

完成以上设置之后回到 表设计界面,选中数据单元格 TextBox4 ,在属性窗口的命令区域中点击属性对话框命令,并按照以下表格设置数据单元格的属性:

ActiveReports 表实战应用教程(五)——交叉 表及数据透视图实现方案

需要注意的是,我们将外观-背景色-颜色属性通过表达式的方式来完成对数据的高亮显示,如果销售量大于2000单元格背景色设置为高亮,小于等于2000设置为白色。

最终完成的设计界面如下:

ActiveReports 表实战应用教程(五)——交叉 表及数据透视图实现方案

5. 运行程序

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

ActiveReports 表实战应用教程(五)——交叉 表及数据透视图实现方案

ActiveReports 表控件| 下载试用

ActiveReports 是一款专注于 .NET 平台的 表控件,全面满足 HTML5 / WinForm / ASP.NET / ASP.NET MVC / WPF 等平台下 表设计和开发工作需求,作为专业的 表工具为全球超过 300,000 开发人员提供了全面的 表开发服务。

如果您对我们的产品还有任何疑问,欢迎咨询在线客服>>

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年8月13日
下一篇 2021年8月13日

相关推荐

发表回复

登录后才能评论