在 Visual Studio .NET中使用Crystal Report(上)

** 在 ** ** Visual Studio .NET ** ** 中使用 ** ** Crystal Report( ** ** 上 ** ** ) **

from www.aspfree.com
translated by cash( 天下第七 )
[email protected]

在我们开始这个关于如何在 VS.NET上使用Crystal Reports的小小的研究之前,我和我的朋友都对如何把它应用于我们的Web程序中感到非常的疑惑。一个星期以后,经过一些努力(在网上查找“how-to”文档),我们掌握了将简单的报表加入asp.net程序中的一些小小技巧。

本文包含将 Crystal Report 应用于您的 .NET Web 应用程序所需方法的一些汇总,通过这些循序渐进地演示,你将遇到的错误 ( 正如我们曾经所遇到过的 ) 将被减少到微乎其微。为了更有效地利用本文,读者应具备 ASP.NET 中数据库连接的基本知识,并且正在使用 VS.NET 开发。请注意我们仅用 beta2 版对下列代码进行了测试。

** 本文包括以下内容: ** ** **

(1) 介绍 ;

(2) 牛刀小试-在 .aspx 页面中使用一个已存在的 Crystal Report 文件 ;

(3) Crystal Report 演示-使用 Pull Model;

(4) Crystal Report 演示-使用 Push Model;

(5) 将 Report 文件输出到其它的格式中。

有各种各样的 Crystal Report ,这里我们用到的是专为 .NET 设计的 "Crystal Report for Visual Studio .NET" 。它是一个 rich programming model ,以此可以操作它的 properties 和 methods 。如果你用 VS.NET 开发你的程序,你就不需要安装任何额外的软件,因为它已经包括在 VS.NET 中了。

** 优势 ** **
** 使用 Crystal Report for Visual Studio .NET 的主要好处有:

--快速开发报表
--能与相关联图表一起扩展为复杂的报表
--可以与这个 web form 中的其它控件相互作用
--能够将其输出成常用的 .pdf , .doc , .xls , .html , .rtf 等格式


** 总体结构 ** ** **

展示这个具有两层结构的 Crystal Report 需要:

客户端:

客户端仅需使用浏览器即可得到装载于 .aspx 页面中的报表。

服务器端:

_ - Crystal Report Engine (CREngine.dll) _

与其它任务(比如将数据与报表文件合并、将数据输出为不同的格式等)一起, Crystal Report Engine 可以将你的 Crystal Report 转为传到 .aspx 页中的简洁明了的 HTML.

_ _

_ - Crystal Report Designer (CRDesigner.dll) _

使用 Crystal Report Designer 可以从头开始制作报表,可以设计标题、插入数据、公式、表格、次级报告等。

_ _

_ - The .rpt Report file _

将一份报表应用到你的 Web 应用程序中的第一步是使用 Crystal Report Designer 创建报表。在你的电脑里已经有了一些现成的样本,你现在就可以用它。

_ _

_ - The Data Source _

.rpt 文件获取数据的方式取决于你所选用的方法。你可以选择制作 Crystal Report 以获取数据而无须手工写任何代码,也可以选择绑定你的 dataset 并将其传入报表文件。稍后我们将看到不同的应用。

_ _

_ - Crystal Report Viewer web form Control (CRWebFormViewer.dll) _

Crystal Report Viewer 是一个能够插入 .aspx 页中的 web form control 。它可以理解为一个包含报表的容器。

注意:在复杂的实现过程中,报表服务器和网络服务器可以位于不同的服务器上,在这种情况下,网络服务器将向报表服务器提出要求。 Crystal Report 将作为一项 web service 被执行。

** 执行模式 ** ** **

执行以下任一种方法均可获取 Crystal Report 数据。

Pull Model( 拉模型 )

在拉模型中,驱动程序将连接到数据库并根据需要将数据 “拉”进来。使用这种模型时,与数据库的连接和为了获取数据而执行的 SQL 命令都同时由 Crystal Reports 本身处理,不需要开发人员编写代码。如果在运行时无须编写任何特殊代码,则使用拉模型。

Push Model( 推模型 )

相反,推模型需要开发人员编写代码以连接到数据库,执行 SQL 命令以创建与报表中的字段匹配的记录集或数据集,并且将该对象传递给报表。该方法使您可以将连接共享置入应用程序中,并在 Crystal Reports 收到数据之前先将数据筛选出来。

** 报表类型 ** ** **

除了独立于方案的报表外, Crystal Report Designer 还可装载包含于方案之中的报表。

_ _

_ - Strongly-typed Report : _

当在方案中加入一个报表时,该报表就成为一个 Strongly-typed Report 。在这种情况下,你可以直接创建报表实例(可以减少若干代码),可以将其隐藏。当然你可以点击 Solution Explorer 中的 ”show all files” 来显示它。

_ _

_ - Un-Typed Report : _

不包含在方案中的报表即 Un-Typed Report 。在这种情况下,必须创建一个 Crystal Report Engine 的 'Report Document' 对象并将报表手工装载进去。


** 另外你还应该知道的其它事项 ** :

尽管 Crystal Report Viewer 控件内置了 zooming 、 page navigation 等选项,但是它并没有内置的打印选项。你必须使用浏览器的打印选项才可以。

Crystal Report for Visual Studio .NET 未注册版本只有前 30 项功能可用。在此之后的 save option 将不能使用。为了使用全部的功能,你不得不为之付费。

缺省安装只只提供了五位用户的许可证,若要支持更多的使用者,必须向 www.crystaldecisions.com 购买额外的许可证。

** 牛刀小试-在 ** ** .aspx ** ** 页中使用一个已存在的 ** ** Crystal Report ** ** 文件 ** ** **

现在让我们看看如何将一个Crystal Report文件应用于你的web form。

(1) 从tool box中拖出一个 "Crystal Report Viewer" 放到你的 .aspx 页面上。

<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt;

Published At
Categories with Web编程
Tagged with
comments powered by Disqus