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

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/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/p/1944385.html