Visual Studio自带报表Report Viewer使用体验

03-29

如果购买了Sql Server 2005企业版或者Sql Server 2008 R2,可以考虑使用Reporting Service,Reporting Service包括专门的报表工具,如Report Builder3.0,可以在微软网站上下载,使用Reporting Service开发需要专门的服务器存放报表文件和处理报表数据,其他应用程序仅是呈现报表而已。另外也可以考虑使用本地模式来开发和使用Report Viewer呈现报表,本地模式简单易用、方便灵活,报表寄存在应用程序中运行,本地模式可以视具体场景,使用Web和WinForm方式开发。

环境准备
Report Viewer是Visual Studio 2010自带的报表呈现控件,是微软自带的.Net Ajax控件之一,所以使用Report Viewer之前需要先添加ScriptManager和做好Web.config的相关配置,运行.Net Ajax控件需要预先安装.Net Ajax的插件,具体内容参考msdn的网站。在安装.Net Ajax插件之后,新建项目时可以选择新建Web Application,Web.config中的相关配置默认是支持.Net Ajax的。
.Net Ajax的插件下载地址请参考:
ASPAJAXExtSetup.msi:http://download.microsoft.com/download/5/4/6/5462bcbd-e738-45fa-84ca-fa02b0c4e1c2/ASPAJAXExtSetup.msi
ASPAJAXSourceCode.msi:http://download.microsoft.com/download/6/d/6/6d6c7c47-b9ff-4934-bb03-8a45b8418d35/ASPAJAXSourceCode.msi
AjaxControlToolkit:http://ajax.asp.net/downloads/default.aspx?tabid=47
or http://www.codeplex.com/AtlasControlToolkit/Release/ProjectReleases.aspx?ReleaseId=1425

制作第一个报表
创建好Web项目之后,选择添加新项,可以选择添加"报表"或者"报表向导"来生成报表文件,报表数据源可以选择数据源(使用DataTable)和业务对象(通过指定特定业务类特定方法获取List<>类型的数据对象列表)。
创建报表文件(.rdlc文件的创建过程)和通过Report Viewer呈现报表数据的详细过程请参考msdn:http://msdn.microsoft.com/zh-cn/library/ms251671.aspx

注意事项和工具

注意事项
1.报表文件需要存放在站点根目录中,放在文件夹中会报异常,在Reporting Service已存在类似的问题。
2.Report Viewer控件不支持URL路径中包含中文字符,如果路径存在中文字符,则会出现无法预知的JS错误。
3.VS2010传递参数时,不需要添加@字符,记得在某个版本的Reporting Service传递参数时需要添加@字符

非常有用的工具
1.打开报表文件之后,可以通过视图->报表数据菜单打开报表的相关信息窗口
2.工具栏中包含报表字样的工具栏对于格式报表非常有用。

示例代码:ReportDemo_ReportViewer.zip

作者:HorsonJin