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

原创 2002年02月05日 10:47:00

Visual Studio .NET中使用Crystal Report()<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


 


from www.aspfree.com
translated by cash(
天下第七)
cashcao@msn.com


 

在我们开始这个关于如何在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,以此可以操作它的propertiesmethods。如果你用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控件内置了zoomingpage 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页面上。


 

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />



 


2)打开这个control的属性窗口。


(3)  在"Data Binding"属性上点击[...]弹出data binding窗口。


(4) 从左边选择"Report Source"


(5)选择"Custom Binding Expression",在下边的表单中输入以下语句:


"C:/Program Files/Microsoft Visual Studio.NET/Crystal Reports/Samples/Reports/General Business/World Sales Report.rpt"


 记得要包括引号,点OK。


 



 


注意:这个‘World Sales Report.rpt’文件是做为VS.NET的一部分被安装的。如果你指定了一个不同的路径安装VS.NET,请自行修改。


 

(译者注:C#用户请输入以下字符串:"C://Program Files//Microsoft Visual Studio.NET//Crystal Reports//Samples//Reports//General Business//World Sales Report.rpt")


 

经过短暂时间的加载后,你将会看到一个简单的预览 


 

上面的步骤实际上在你的.aspx页面上插入了如下代码:


<%@ Register TagPrefix="cr" Namespace="CrystalDecisions.Web" Assembly="CrystalDecisions.Web" %>


和在<form>段里的


<CR:CrystalReportViewer


id="CrystalReportViewer1"


runat="server"


Width="350px" Height="50px"


ReportSource='<%# "C:/Program Files/Microsoft Visual Studio.NET/Crystal Reports/Samples/Reports/General Business/World Sales Report.rpt" %>'>


</CR:CrystalReportViewer>


 

 (6) 调用DataBind方法,在Code Behind文件中编辑Page Load Event


 

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)       


DataBind()


End Sub


 

(7). 保存,生成并运行。现在你已经有了一个包含Crystal Report文件的页面了。


  

[.Net码农]Visual Studio 2012使用水晶报表Crystal Report

http://www.cnblogs.com/insus/archive/2013/05/22/3090786.html Visual Studio 2012使用水晶报表Crystal Repo...
  • CrackLibby
  • CrackLibby
  • 2015年04月20日 23:58
  • 6670

水晶报表(Crystal Report)通过Visual Studio 2010的WPF实现

1,前言。      本文中采用的工具介绍: VS2010旗舰版,CrystalReport版本为13.0 。实现的方式是做一个简单demo, 让初学者能够初步了解水晶报表的使用。 ...
  • easyboot
  • easyboot
  • 2016年03月03日 17:00
  • 965

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

在 Visual Studio .NET中使用Crystal Report(上) from www.aspfree.comtranslated by cash(天下第七)cashcao@msn.com...
  • cashcho
  • cashcho
  • 2002年02月05日 10:47
  • 4233

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

 Crystal Report演示-使用Pull Model我们可以用以下步骤来实现Crystal Reports的Pull Model的使用:(1) 创建一个.rpt文件,设定必要的数据库联接。(2...
  • chenjinjie
  • chenjinjie
  • 2006年07月01日 11:32
  • 1369

visual studio中如何使用水晶报表(crystal report)

crystal report 中文名 水晶报表 你使用visual studio这个ide进行开发的时候,可以在向导中,单独创建一个 crystal report 然后,在你的代码中调用这个水晶报表...
  • charliefromkansas
  • charliefromkansas
  • 2017年02月23日 16:16
  • 611

Crystal Reports basic for Visual Studio 2008部署 .

本文转自:http://www.cnblogs.com/whhcode/archive/2008/01/08/1030661.html 原作者:红着眼的狼 近日帮朋友写了一个基于Web的...
  • zcyy1211
  • zcyy1211
  • 2012年11月01日 17:02
  • 6296

Visual C#中用CrystalReportViewer控件浏览CrystalReport的方法

1、外部报表文件绝对路径引用法:利用一个OpenFileDialog控件来打开文件if(openFileDialog1.ShowDialog()==DialogResult.OK) this.crys...
  • kanoalibby
  • kanoalibby
  • 2009年04月21日 00:02
  • 658

水晶报表(Crystal Report)通过Visual Studio 2010的WPF实现

1,前言。      本文中采用的工具介绍: VS2010旗舰版,CrystalReport版本为13.0 。实现的方式是做一个简单demo,让初学者能够初步了解水晶报表的使用。     本文中水...
  • findsafety
  • findsafety
  • 2014年02月28日 17:09
  • 5358

crystal reports for Visual Studio .NET(webformsample)

Crystal Reports ®For Visual Studio .NET®Interactivity and Reports in Web ApplicationsInteractivity a...
  • mdma
  • mdma
  • 2005年04月13日 18:10
  • 1229

C#.Net中使用Crystal Report

大名鼎鼎的 Crystal Reports(水晶报表)已内嵌为微软 Visual Studio .NET的标准报表工具,同时升级到 Crystal Reports for Visual Studio ...
  • wlwqw
  • wlwqw
  • 2007年09月21日 21:15
  • 1389
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在 Visual Studio .NET中使用Crystal Report(上)
举报原因:
原因补充:

(最多只允许输入30个字)