RDLC使用手册_RDLC常用控件介绍(Matrix)(转)

本文详细介绍如何使用RDLC中的矩阵控件创建复杂报表。包括设置行列分组、添加汇总数据及图表等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/chuangxin/archive/2009/04/09/4059755.aspx

 

4.2 矩阵控件使用介绍

1)    矩阵控件主要用于显示CrossTable之类的报表,因此其列数可以是Static的,也可以是Dynamic并且Can grow的,关于矩阵控件,在RDLC协议规范里也有介绍,其大致内容可以用下图表示。

 ctlTableDemo_4

 

2)    新建报表文件,命名为ctlMatrixDemo.rdlc;

3)    在ctlMatrixDemo.rdlc设计器中,拖入Matrix控件,默认情况下是2行2列,左上角单元格为空白区域(通常用来显示报表摘要信息如产品/年度等),右上单元格显示为“列”,单击此处可以增加列分组,左下单元格显示为“行”,单击此处可以添加行分组,右下单元格显示为“数据”,单击此处可以添加静态行、静态列。

4)    在矩阵左上角单元格空白区域拖入矩形控件,然后在该矩形控件中拖入一个折线控件和两个文本框控件,折线当做矩形的对角线,两个文本框内容为产品和年度分布在折线两侧。

5)    增加两个行分组,分别为matrix1_RowGroup1和matrix1_RowGroup2,matrix1_RowGroup1的表达式为=Fields!ProdCat.Value,matrix1_RowGroup2的表达式为=Fields!SubCat.Value。

6)    增加两个列分组,分别为matrix1_ColumnGroup1何matrix1_ColumnGroup2,matrix1_ColumnGroup1的表达式为=Fields!OrderYear.Value,matrix1_ColumnGroup2的表达式为=Fields!OrderQtr.Value。

7)    在“数据”单元格中编辑表达式=Sum(CDbl(Fields!Sales.Value))

8)    设计完之后,效果如下图所示;

 


 


9)    新建窗体FrmCtlMatrixDemo,然后在该窗体上添加ReportViewer控件,在窗体FrmCtlMatrixDemo代码窗口里输入以下代码:

        private void FrmCtlMatrixDemo_Load(object sender, EventArgs e)

        {

            this.reportViewer1.ProcessingMode = Microsoft.Reporting.WinForms.ProcessingMode.Local;

            this.reportViewer1.LocalReport.ReportPath = @"rdlc\ctlMatrixDemo.rdlc";

            //

            reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("ctlsDemo_vSales", LoadData()));

            //

            this.reportViewer1.RefreshReport();

        }

        private DataTable LoadData()

        {

            DataSet dataSet = new DataSet();

            dataSet.ReadXml(@"data\ctlsDemo.xml");

            return dataSet.Tables[0];

        }

10)    运行效果如下图所示

 ctlTableDemo_6

 

转载于:https://www.cnblogs.com/millen/archive/2011/01/25/1944385.html

为什么要使用RDLC报表,蜡人张在其博文“RDLC报表(一)”中已经很好的阐述了这一点。 VS .NET开发中,用什么进行报表设计?可能的回答是Crystal Report,当然,必须承认Crystal Report的功能还是非常强大的,被Business Object收购以后,商业的成分也在逐渐增加,也形成了一定规模的用户群。 Visual Studio .NET进入2005版本以后,Crystal Report与IDE的结合更“紧密”了,至少我们看不到那个讨厌的注册窗口了。但是,Microsoft似乎并不容忍在自己的超级工具中竟然没有报表工具,于是Report Viewer Control出现了,我把它的报表称为RDLC报表。 在VS .NET 2005之前,SQL Server Reporting Services中已经提供了一种被称为报表定义语言(Report Definition Language, RDL)的语言;在VS .NET 2005中,Microsoft提供了针对这种报表的设计器,并提供了在WinForm和WebForm中使用这种报表的能力。Microsoft将这种报表的后缀定为RDLC,RDL仍然是Report Definition Language的缩写,那么C代表什么呢?C代表Client-side processing,凸显了它的客户端处理能力。 这种报表的易用性和可定制性让我们完全有理由放弃Crystal Report,让我们来看看它的强大功能吧: 1) 简单易用的控件,特别是Table控件,非常方便字段在报表上的排列; 2) 灵活的可定制性,用XML来描述一个报表相关的一切,不用说了吧; 3) 高度可编程性,在你的项目中,甚至不需要有一个报表文件,通过代码就可以实现报表生成、预览和打印等一系列操作; 4) 支持DrillThrough数据钻取功能; 5) 导出的Excel文件格式非常完美,而且并不需要安装Excel; 6) 数据源处理极其方便,开发人员可以自己接管数据库连接、取数,然后将数据结果赋值给RDLC的数据集即可。 7) 展示和数据分离,程序员更是可以编写一个RDLC设计器交有用户使用,这样用户就可以自行设计RDLC报表格式,程序员只负责定制数据接口即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值