向 ReportViewer 报表中添加自定义代码

您可以向报表添加自定义函数,也可以添加对外部程序集中函数的引用。编译项目时,将自动引用下列程序集:Microsoft.VisualBasic、System.Convert 和 System.Math。使用“报表属性”对话框或报表定义中的 CodeModules 元素可以引用其他程序集。还可以使用“报表属性”对话框来定义自定义函数。若要在报表定义中定义自定义函数,请使用 Code 元素。请注意,无法向函数传递数据值集(特别要指出的是,不支持自定义聚合)。

可以编写自定义代码,在整个报表的表达式中使用。编写自定义代码有两种方法:在报表中嵌入代码或引用自定义程序集中的方法。对于复杂函数或在一个报表中多次使用的函数,使用嵌入代码。使用自定义程序集可在一个位置维护代码并在多个报表中共享该代码。

嵌入代码

若要在报表中使用代码,请将代码块添加到报表中。此代码块可以包含多个方法。嵌入代码中的方法必须以 Microsoft Visual Basic 编写,并且必须基于实例。

将代码添加到报表

  1. 在“报表”菜单上,单击“报表属性”。

    注意

    如果“报表”菜单不可用,请单击报表设计区域。

  2. 在“代码” 选项卡的“自定义代码”中,键入代码。

嵌入代码中的方法可通过全局定义的 Code 成员使用。您可以通过引用 Code 成员和方法名称来访问这些方法。下面的示例调用了 ToUSD 方法,该方法将 StandardCost 字段值转换为美元值:

=Code.ToUSD(Fields!StandardCost.Value)

自定义程序集

若要在报表中使用自定义程序集,必须先创建程序集,使其可供项目使用,然后在报表中添加对该程序集的引用,最后在报表中使用表达式来引用该程序集中的方法。将报表部署到报表服务器后,还必须将自定义程序集部署到报表服务器。

将程序集引用添加到报表

  1. 在“报表”菜单上,单击“报表属性”。

    注意

    如果“报表”菜单不可用,请单击报表设计区域。

  2. 在“引用”选项卡上,执行下列操作:

    • 在“引用”选项卡中,单击添加 (...) 按钮,然后在“添加引用”对话框中选择或浏览到程序集。

    • 在“类”中,键入类名并提供要在报表中使用的实例名。

      注意

      仅为基于实例的成员指定类名和实例名。不要在“类”列表中指定静态成员。

若要在表达式中引用自定义代码,必须调用程序集中的某类成员。调用方式取决于该方法是静态的还是基于实例的。自定义程序集中的静态方法可在整个报表中使用。您可以在表达式中通过命名空间、类和方法名称来访问静态方法。下面的示例调用了 ToGBP 方法,该方法将 StandardCost 字段的值从美元转换为英镑:

=CurrencyConversion.DollarCurrencyConversion.ToGBP(Fields!StandardCost.Value)

基于实例的方法可通过全局定义的 Code 成员使用。您可以通过依次引用 Code 成员、实例和方法名称来访问这些方法。下面的示例调用了 ToEUR 实例方法,该方法将 StandardCost 字段值从美元转换为欧元:

=Code.m_myDollarCoversion.ToEUR(Fields!StandardCost.Value)

注意

在报表设计器中,自定义程序集一经加载就不会被卸载,除非关闭 Visual Studio。如果预览报表后对该报表所用的自定义程序集进行更改,然后再次预览该报表,则第二次预览结果不会体现所做的更改。若要重新加载程序集,请关闭 Visual Studio,再将其重新打开,然后预览报表。

若要了解有关使用自定义程序集的详细信息,可以在 SQL Server 2005 联机丛书中搜索“在报表中使用自定义程序集”。Visual Studio 2005 的大多数版本都有联机丛书。您还可以在 www.microsoft.com 的 MSDN 上进行查看。联机丛书中有关自定义程序集的信息适用于使用 ReportViewer 控件部署的报表。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
多形式报表源码 Gscr.Report控件(广源报表控件)实现报表自由定义报表显示、打印预览、打印、公式、排序、导出等报表常见功能,是一款较好报表控件。 ---以下是引用官方部分简介--- Gscr.Report控件(广源报表控件)是专为.NET For Windows Forms编程者开发的报表平台,具有功能实用、操作简捷的特点。 1.采用行列式二维表格,能够灵活设定单元格属性,操作方式和Excel很相似; a.单元格宽度和高度、背景色、前景色、显示格式、格线设置等; b.字体类型、字体大小、字体粗细、斜体及下划线设置等; c.数据水平对齐、垂直对齐设置等; d.合并单元格功能; 2.友好的表格设计器界面,可以让报表设计工作变得轻松。您可以使用它来制作表格模板,然后将表格保存为.gsc文件。 3.支持数据绑定。用户只需提供一个DataTable对象,因此报表支持目前流行的各种数据库格式,比如SQL Server、Oracle、Access等常用数据库格式。 另外,用户也通过赋值报表的SelectSQL属性(设置针对SQL作为 Gscr.Report 数据源运行的SQL文本命令)来实现数据绑定。 4.可以按照打印效果的需要进行灵活的设置,包括页边距、纸张大小,页眉页脚、打印方向、表格线是否打印、背景是否打印等。 同时,支持表格套打,用户可以对每个单元格的背景颜色、内容、边线等是否打印进行灵活控制。 5.提供丰富的单元格数据类型(或编辑方式):编辑框、下拉列表框、下拉表格、复选框、日期选择框、货币输入框、按钮、进度条、密码等。 6.行列的添加/删除,显示/隐藏、拖动、排序、锁定行列等功能 7.对创建的报表支持包括xls、txt、csv、xml等多种导出文件格式, 同时支持资源本地化。 8 支持单元格公式运算。公式表达式可以进行算术、关系、逻辑等各种运算,支持对参数、变量、字段及单元格的引用。 同时,提供丰富的内建函数,包括文本函数、日期和时间函数、数学函数、检查函数、程序流函数、类型转换函数、聚合函数及各种特殊处理函数(如金额大写)等。 9.界面美观、大方。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值