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

ASP.NET
asp.net(c#)网页跳转七种方法小结
完美解决在ModalPopupExtender中使用CalendarExtender时被层遮挡的问题
ASP.NET、SharePoint中另存文件的长文件名被截断的原因及解决办法
查看Json输出的*最方便*的方法 (转)
asp.net 代码隐藏的编码模型
ajaxpro.dll 控件实现异步刷新页面
asp.net DbProviderFactory的使用-示例
一个简单的asp.net 单点登录实现
jQuery+Ajax用户登录功能的实现
asp.net 弹出对话框返回多个值
.NET 中英文混合验证码实现代码
一个完整的ASP.NET 2.0 URL重写方案[翻译]
asp.net关于onpropertychange和oninput事件实现代码
asp.net gridview指定某一列滚动
Equals和==的区别 公共变量和属性的区别小结
asp.net 合并GridView中某列相同信息的行(单元格)
ASP.NET(C#) 定时执行一段代码
asp.net 预防SQL注入攻击之我见
asp.net下将Excel转成XML档的实现代码
asp.net url分页类代码

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


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