VSRDLC自带报表使用手册.docx
- 文档编号:2241830
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:46
- 大小:1.21MB
VSRDLC自带报表使用手册.docx
《VSRDLC自带报表使用手册.docx》由会员分享,可在线阅读,更多相关《VSRDLC自带报表使用手册.docx(46页珍藏版)》请在冰豆网上搜索。
VSRDLC自带报表使用手册
RDLC使用总结
1、为什么要使用RDLC报表(简介)
VS.NET开发中,用什么进行报表设计?
可能的回答是CrystalReport,当然,必须承认CrystalReport的功能还是非常强大的,被BusinessObject收购以后,商业的成分也在逐渐增加,也形成了一定规模的用户群。
VisualStudio.NET进入2005版本以后,CrystalReport与IDE的结合更“紧密”了,至少我们看不到那个讨厌的注册窗口了。
但是,Microsoft似乎并不容忍在自己的超级工具中竟然没有报表工具,于是ReportViewerControl出现了,我把它的报表称为RDLC报表。
在VS.NET2005之前,SQLServerReportingServices中已经提供了一种被称为报表定义语言(ReportDefinitionLanguage,RDL)的语言;在VS.NET2005中,Microsoft提供了针对这种报表的设计器,并提供了在WinForm和WebForm中使用这种报表的能力。
Microsoft将这种报表的后缀定为RDLC,RDL仍然是ReportDefinitionLanguage的缩写,那么C代表什么呢?
C代表Client-sideprocessing,凸显了它的客户端处理能力。
这种报表的易用性和可定制性让我们完全有理由放弃CrystalReport,让我们来看看它的强大功能吧:
1)简单易用的控件,特别是Table控件,非常方便字段在报表上的排列;
2)灵活的可定制性,用XML来描述一个报表相关的一切,不用说了吧;
3)高度可编程性,在你的项目中,甚至不需要有一个报表文件,通过代码就可以实现报表生成、预览和打印等一系列操作;
4)支持DrillThrough数据钻取功能;
5)导出的Excel文件格式非常完美,而且并不需要安装Excel;
6)数据源处理极其方便,开发人员可以自己接管数据库连接、取数,然后将数据结果赋值给RDLC的数据集即可。
7)展示和数据分离,程序员更是可以编写一个RDLC设计器交有用户使用,这样用户就可以自行设计RDLC报表格式,程序员只负责定制数据接口即可。
RDLCMSDN:
2、RDLC简单Demo
本文所有RDLC例子都是基于VS2005C#,所有ReportViewer的处理模式都是Local模式。
本报表Demo显示上文中提到的RDLC手册各节内容,下述为Demo的详细steps。
1)新建项目,选择Windows应用程序项目类型,输入工程名称RDLCDev;
2)修改Form1窗体名称为FrmRdlcUserGuide,在工具箱—>数据Tab选项卡中选择ReportViewer控件,将其拖入到FrmRdlcUserGuide,默认命名为reportViewer1,调整ReportViewer控件的大小和布局;
3)在解决方案资源管理器中选择RDLCDev工程,鼠标右击RDLCDev工程,添加新建项,在添加新项模板中选择“报表”,取名为rdlcuserguide.rdlc,单击添加按钮,然后在解决方案资源管理器中RDLCDev工程下会增加一个rdlcuderguide.rdlc文件,并且会自动打开RDLC设计器;
4)在RDLC设计器中添加11个TextBox控件,1个作为标题,其余10个作为RDLC使用手册具体内容,对每个TextBox控件进行TextAlign、Color、BorderStyle、Font和TextDecoration等相关属性设置,设计完毕之后,大致如下图所示。
5)在FrmRdlcUserGuide窗体Load事件中添加下述代码
privatevoidForm1_Load(objectsender,EventArgse)
{
this.reportViewer1.ProcessingMode=Microsoft.Reporting.WinForms.ProcessingMode.Local;
this.reportViewer1.LocalReport.ReportPath="rdlcuserguide.rdlc";
this.reportViewer1.RefreshReport();
}
6)编译、运行RDLCDev工程,运行结果大致如下图所示。
3、RDLC常用控件介绍
RDLC设计工具箱上总共有9种控件:
文本框(TextBox)、折线(Line)、表(Table)、矩阵(Matrix)、矩形(Rectangle)、列表(List)、子报表(SubReport)、图表控件(Chart)、图像控件(Image)。
下图ctlsDemo.rdlc设计器所示为所有控件的设计演示。
1)由于表格控件、矩阵控件、列表控件和图表控件必须填充数据集,因此把所有控件布局完毕之后,创建一个数据集。
解决方案资源管理器中,选中RDLCDev工程,右击添加新建项,在新建项类型模板里选择“数据集”,取名“ctlsDemo.xsd”,单击“添加”。
ctlsDemo.xsd添加完毕之后,在解决方案资源管理器中会增加一个ctlsDemo.xsd文件,并前VSIDE会自动打开ctlsDemo.xsd设计页面。
在设计页面中右击,添加Datatable,将其命名为vSales,该表描述的是产品的销售额信息,为vSales表添加列,列信息如下:
ProdCatSystem.String
SubCatSystem.String
OrderYearSystem.Int32
OrderQtrSystem.String
SalesSystem.Double
2)文本框控件、折线控件、矩形控件使用相对简单,这里不细说;
3)Image控件,现在RDLC设计器模式下,选择“报表”菜单,“嵌入图像”,在“嵌入图像”对话框中,载入一个本地图像文件即可。
然后设置Image控件的Source属性为Embedded,设置Value属性为刚才处理的嵌入图像即可。
当然还有别的方式可以显示图像,大家可以Google一下,关键字为RDLC、嵌入图像;
4)图表控件,使用图表控件的一个关键是要设置好图表属性页面中的数据TAB页相关内容。
主要有值、类别组和序列组定义,大家可以参考Demo;
5)表格控件、矩阵控件和子报表控件,在后续内容中会详细介绍;
4.1表格控件使用介绍
1)Table控件是RDLC报表显示数据的一个核心控件,关于Table控件,在微软提供的RDLC规范里有详细的介绍,其大致内容可以用下述的一张类UML图来表示;
2)新建报表文件,命名为ctlTableDemo.rdlc;
3)在ctlTableDemo.rdlc设计器中,拖入Table控件,默认情况下是3行3列,其中第1行为表头行(我们理解为列标题行),第二行为详细信息行(我们理解为报表内容展示区域),第三行为表尾行(我们理解为汇总区域)。
可以整行选中,然后右击鼠标添加行或者删除行,也可以整列选中,然后右击鼠标添加或者删除列。
上文中提到的数据集合有5个字段,因此需要5列来显示,为此需要增加两列。
4)在数据源窗口中(如果没有显示的话,选择【数据】菜单下的【显示数据源】即可)选择上文中创建的ctlsDemo.xsd数据集,将ProdCat、SubCat、OrderYear、OrderQtr和Sales分别拖入到Table控件的详细信息行的不同列中去。
5)设置标题行文字显示都居中,Sales的内容显示右对齐,ProdCat、SubCat、OrderYear、OrderQtr和Sales文本框的字体颜色全部设置成Blue,Sales文本框由于显示的内容为销售额,因此需设置数字显示格式,小数位数。
鼠标右击Sales文本框,选择【属性】,在文本框属性窗口中,选择格式Tab页,在格式代码处,选择数字1,234.00格式即可,选择完毕之后该文本框的数字就以逗号千分位作为分割符,保留2位小数显示,效果如下图所示。
6)插入一个组实现分组统计功能。
选中整行,鼠标右击,选择【插入组】,弹出分组和排序属性对话框,设置分组名称、分组方式、是否显示组头或者组尾等属性即可,本文分组设置如下:
·分组名称:
table1_Group1
·分组表达式:
=Fields!
ProdCat.Value;=Fields!
SubCat.Value;=Fields!
OrderYear.Value,实现产品年度销售额汇总统计功能。
·不显示组头、显示组尾(至于组头、组尾是个什么样的东西,大家只要动手试一下就一目了然了)
·在textbox15中输入汉字“合计”,在textbox16文本框中输入合计表达式=Sum(CDbl(Fields!
Sales.Value)),设置完之后效果如下图所示。
7)新建窗体FrmCtlTableDemo,然后在该窗体上添加ReportViewer控件,在窗体FrmCtlTableDemo代码窗口里输入以下代码:
privatevoidFrmCtlTableDemo_Load(objectsender,EventArgse)
{
this.reportViewer1.ProcessingMode=Microsoft.Reporting.WinForms.ProcessingMode.Local;
this.reportViewer1.LocalReport.ReportPath=@"rdlc\ctlTableDemo.rdlc";
//
reportViewer1.LocalReport.DataSources.Add(newReportDataSource("ctlsDemo_vSales",LoadData()));
//
this.reportViewer1.RefreshReport();
}
privateDataTableLoadData()
{
DataSetdataSet=newDataSet();
dataSet.ReadXml(@"data\ctlsDemo.xml");
returndataSet.Tables[0];
}
8)运行效果如下图所示
4.2矩阵控件使用介绍
1)矩阵控件主要用于显示CrossTable之类的报表,因此其列数可以是Static的,也可以是Dynamic并且Cangrow的,关于矩阵控件,在RDLC协议规范里也有介绍,其大致内容可以用下图表示。
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)增加两个列分组,分别为mat
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VSRDLC 报表 使用手册