ASP.NET服务器控件ReportViewer(一)
最近项目用到了VS2005中自带的“报表”。由于以前也没有使用过,网上找了些资料,总算知道怎么用了,这里做些总结,方便自己复习和给大家一些帮助。
要使用ReportViewer 控件,就不可不说到rdlc。
什么是 rdlc?
.rdlc是VS2005中报表文件的后缀名,是Report Definition Language Client的缩写,直接翻译过来可以理解为报表定义语言客户端。这样听起来很难懂,不知所云。其实和rdlc同时存在的还有一个rdl,就是上面这个全程前3个单词的缩写。从SQL Server 2005开始,微软提供了一个报表服务(Reporting Service),而rdl是指那些针对报表服务部署在服务器端的报表,而rdlc是指在本地的一些报表。也就是说我们要使用报表不一定要依赖于SQL Server的Reporting Service,而是可以自主生成一些数据源然后通过报表的方式展现出来。如果和rdl比较,rdlc可以看成是一个轻量级的报表。在展现报表的时候我们需要使用到的一个控件叫ReportViewer,这种控件可以展现rdl报表,也可以展现rdlc报表。从其属性可以看出,ReportView.ServerReport是针对rdl报表的,而ReportViewer.LocalReport是针对rdlc报表的。里面设置的参数和内容也不尽相同。
开发RDLC报表的几个组成部分
基于VS2005IDE,RDLC报表的开发主要分为数据源、报表设计、报表展示三个方面。
数据源大体可以分为两种,一种是通过SQL语句从数据库中得到的DataTable,还有一种是业务对象。DataTable大家都好理解,对于业务对象实际是我们一些支持IEnumerable的类,VS2005会自动识别其中的public属性作为数据源。
建立DataTable数据源,我们通常是建立一个“数据集”,也就是一个.xsd文件。.xsd文件大家应该都比较熟悉了,实际上我们就是生成了一个强类型的DataSet,其中包含了我们作为数据源的DataTable。
建立业务对象的数据源以后,我们需要先“重新生成解决方案”或者“重新生成网站”。然后我们可以通过“网站数据源”的窗口来看到我们生成的数据源。如果没有看到“网站数据源”窗口可以通过Alt+Shift+D或者在.rdlc设计文件的情况下点击菜单“数据”-> “显示数据源”的方式来查看。
报表设计主要针对的文件就是.rdlc文件,在其设计界面我们可以拖拽各种各样的报表控件来展示报表。
报表展示主要是将报表展示在应用程序的页面上,这样用户可以对报表进行方便的查看和操作。报表的展示主要是通过在aspx页面上拖拽一个ReportViewer控件来实现的。ReportViewer主要是负责报表的展示和对报表的一些操作(如:翻页、导出、设置大小比例等),可以看成是一个容器。对ReportViewer控件上你可以选择报表,系统将列举当前应用程序中所有的.rdlc文件,选择了一个报表以后系统会自动在ReportViewer控件下方生成一个ObjectDataSource控件。