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

ASP.NET
FreeTextBox(版本3.1.6)在ASP.Net 2.0中使用方法
.NET 常用功能和代码小结
在 .NET Framework 2.0 中未处理的异常导致基于 ASP.NET 的应用程序意外退出
asp.net IList查询数据后格式化数据再绑定控件
asp.net sql存储过程
asp.net 简单实现禁用或启用页面中的某一类型的控件
asp.net(c#)获取内容第一张图片地址的函数
The remote procedure call failed and did not execute的解决办法
ASP.NET 在线文件管理
asp.net 读取并修改config文件实现代码
ASP.NET Cookie 操作实现
asp.net Silverlight中的模式窗体
Silverlight中动态获取Web Service地址
asp.net Silverlight应用程序中获取载体aspx页面参数
asp.net 水晶报表隔行换色实现方法
asp.net 获取Gridview隐藏列的值
手动把asp.net的类生成dll文件的方法
asp.net 使用ObjectDataSource控件在ASP.NET中实现Ajax真分页
动态指定任意类型的ObjectDataSource对象的查询参数
asp.net Md5的用法小结

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 100 ::
收藏到网摘: 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,即可。再重新编绎一下,那么这个组件就具备了参数传递功能。