当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > asp.net Reporting Service在Web Application中的应用

ASP.NET
asp.net 使用Silverlight操作ASPNETDB数据库
ASP.NET 前后台调用方法
ASP.NET中等安全模式的一些经验分享
asp.net 打印控件使用方法
网站开发技术:ASP.NET 2.0搭建网站
ASP.NET实例教程:创建数据透视表
ASP.NET 4进行SEO优化提高网站排名和权重
ASP.NET实例教程:订阅 GeoRSS 订阅源
ASP.NET页面间数据传递的9种方法
ASP.NET教程:网页表单多个按钮完成不同功能
Asp.net的服务器推技术 (Server Push)
asp.net 无刷新附件上传实现方法
ASP.NET 定制简单的错误处理页面实现代码
c# 在WebBrowser中用SendMessage模拟鼠标点击
asp.net 表单验证新思路
.NET从优酷专辑中采集所有视频及信息(VB.NET代码)
VS2005 水晶报表在时部署时遇到的问题
ASP.NET 输出图片简单代码
一天精通asp.net的学习经验小结
DataGridView中绑定DataTable数据及相关操作实现代码

ASP.NET 中的 asp.net Reporting Service在Web Application中的应用


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 59 ::
收藏到网摘: n/a

由于我们这个项目中使用微软的报表服务(Reporting Services)作为报表输出工具,本人也对它进行一点点研究,虽没有入木三分,但这点知识至少可以在大部分Reporting Service的场景中应用。 原先刚装上Reporting Service时还觉得有点神秘,毕竟在做这个项目前还没有真正接触这个微软用于代替水晶报表的报表工具,而且微软似乎还不满足于一个报表工具那么简单。
Reporting Services 是一种基于服务器的新型报表平台,部署在Microsoft® SQL Server™ 2000基础上,可用于创建和管理包含来自关系数据源和多维数据源的数据的表格报表、矩阵报表、图形报表和自由格式报表。可以通过基于 Web 的连接来查看和管理您创建的报表。
Reporting Services 提供了一套完整的服务、工具和应用程序编程接口 (API),您即使不是程序员也可以使用 Reporting Services。可以使用 Reporting Services 中包含的应用程序和工具来制作、发布和管理报表。此外,还提供了支持报表生存周期的各个阶段的工具或应用程序。程序员可以使用 API 将报表功能扩展或集成到自定义解决方案中。
本文主要简介Reporting Service开发中所涉及到的部分技术,首先我们可以从其是一个服务(Service)可知,它提供了Web Service接口,并且允许我们在报表中嵌入代码(必须是VB .Net),还可以引用基于.Net Framework的程序集。
在此主要讲Reporting Service开发相关技术的二个方面
1.在自定义的应用程序中集成Reporting Service提供的报表服务
生成报表展示组件
要想把Reporting Service的报表(RDL文件)集成到自定义的应用程序中,我们可以通过Reporting Service自带的一个报表展示组件,它可以通过对sample项目ReportViewer编译得到,默认为ReportViewer.dll。
我们通过通过对sample项目ReportViewer进行编译,可以得用于在自定义应用程序集成RDL文件的组件,但如果我们需要在自定义应用程中传递参数给报表,用默认编译得到的ReportViewer.dll组件将不支持。接下来,我们要解决这个问题,如何将在自定义应用程中给报表参数赋值?
复制代码 代码如下:

private void SetParameter(string name, string value)
{


}

此方法的作用将是给报表参数设置值,这时大家可能会很高兴,因为它提供了一个方法来支持,但当我们看到private时,我们也许高兴不起来了,微软基本安全考虑,默认状态下并不把传递参数的方法暴露出来。但往往实现应用与安全都是互斥的。
现在我们至少知道如何扩展该功能来达到我们的目的。
复制代码 代码如下:

public void SetQueryParameter(string Name, string value)
{
this.SetParameter(Name, value);
}
我们新增一个public的方法SetQueryParameter,即可。再重新编绎一下,那么这个组件就具备了参数传递功能。