在Visual Studio.NET中使用Crystal Report(上)
2008-03-08 12:23:20 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁绘劦鍓欓崝銈囩磽瀹ュ拑韬€殿喖顭烽幃銏ゅ礂鐏忔牗瀚介梺璇查叄濞佳勭珶婵犲伣锝夘敊閸撗咃紲闂佽鍨庨崘锝嗗瘱闂備胶顢婂▍鏇㈠箲閸ヮ剙鐏抽柡鍐ㄧ墕缁€鍐┿亜韫囧海顦﹀ù婊堢畺閺屻劌鈹戦崱娆忓毈缂備降鍔庣划顖炲Φ閸曨垰绠抽悗锝庝簽娴犻箖姊洪棃娑欐悙閻庢矮鍗抽悰顕€宕堕澶嬫櫖濠殿噯绲剧€笛囧箲閸ヮ剙钃熼柣鏂挎憸閻熷綊鏌涢…鎴濇灈妞ゎ剙鐗嗛—鍐Χ鎼粹€茬凹缂備緡鍠楅幐鎼佹偩閻戣棄纭€闁绘劕绉靛Λ鍐春閳ь剚銇勯幒鎴濐伀鐎规挷绀侀埞鎴︽偐閹绘帩浼€缂佹儳褰炵划娆撳蓟濞戞矮娌柟瑙勫姇椤ユ繈姊洪柅鐐茶嫰婢т即鏌熼搹顐e磳闁挎繄鍋涢埞鎴犫偓锝庘偓顓涙櫊閺屽秵娼幏灞藉帯闂佹眹鍊曢幊鎰閹惧瓨濯撮柛鎾村絻閸撳崬顪冮妶鍡楃仸闁荤啿鏅涢悾鐑藉Ψ瑜夐崑鎾绘晲鎼粹剝鐏嶉梺缁樻尰濞叉﹢濡甸崟顖氱疀闂傚牊绋愮花鑲╃磽娴h棄鐓愭慨妯稿妿濡叉劙骞樼拠鑼槰闂佸啿鎼崐濠毸囬弶搴撴斀妞ゆ梻銆嬪銉︺亜椤撶偛妲婚柣锝囧厴楠炴帡骞嬮弮鈧悗濠氭⒑鐟欏嫭鍎楅柛妯衡偓鐔插徍濠电姷鏁告慨鐑藉极閸涘﹥鍙忔い鎾卞灩绾惧鏌熼崜褏甯涢柍閿嬪灦閵囧嫰骞掗崱妞惧缂傚倷绀侀ˇ閬嶅极婵犳氨宓侀柛鈩冪⊕閸婄兘鏌涘┑鍡楊伀妞ゆ梹鍔曢埞鎴︽倻閸モ晝校闂佸憡鎸婚悷锔界┍婵犲洦鍤冮柍鍝勫暟閿涙粓姊鸿ぐ鎺戜喊闁告瑥楠搁埢鎾斥堪閸喓鍘搁柣蹇曞仧绾爼宕戦幘璇茬疀濞达絽鎲¢崐顖炴⒑绾懎浜归悶娑栧劦閸┾偓妞ゆ帒鍟惃娲煛娴e湱澧柍瑙勫灴閹瑩寮堕幋鐘辨闂備礁婀辨灙闁硅姤绮庨崚鎺楀籍閸喎浠虹紓浣割儓椤曟娊鏁冮崒娑氬幈闂佸搫娲㈤崝宀勬倶閻樼粯鐓曢柟鑸妼娴滄儳鈹戦敍鍕杭闁稿﹥鐗犲畷婵嬫晝閳ь剟鈥﹂崸妤€鐒垫い鎺嶈兌缁犲墽鈧厜鍋撳┑鐘辩窔閸嬫鈹戦纭烽練婵炲拑绲垮Σ鎰板箳閹冲磭鍠撻幏鐘绘嚑閼稿灚姣愰梻鍌氬€烽懗鑸电仚濠电偛顕崗妯侯嚕椤愩倖瀚氱€瑰壊鍠栧▓銊︾節閻㈤潧校缁炬澘绉瑰鏌ュ箵閹烘繄鍞甸柣鐘烘鐏忋劌顔忛妷褉鍋撶憴鍕碍婵☆偅绻傞~蹇涙惞閸︻厾锛滃┑鈽嗗灠閹碱偊锝炲鍥╃=濞达綁顥撻崝宥夋煙缁嬪灝鏆遍柣锝囧厴楠炲鏁冮埀顒傜不婵犳碍鍋i柛銉戝啰楠囬悗瑙勬尭缁夋挳鈥旈崘顔嘉ч柛鈩兠棄宥囩磽娴e壊鍎愰柛銊ュ缁顓兼径瀣偓閿嬨亜閹哄秶顦︾€殿喖鐏濋埞鎴﹀煡閸℃浠梺鍛婎焼閸曨収娲告俊銈忕到閸燁垶宕愰崹顐e弿婵☆垳鍘ф禍楣冩倵濮樼偓瀚�

核心提示:cashcao@MSN.com在我们开始这个关于如何在VS.NET上使用Crystal Reports的小小的研究之前,我和我的朋友都对如何把它应用于我们的Web程序中感到非常的迷惑,在Visual Studio.NET中使用Crystal Report(上),一个星期以后,经过一些努力(在网上查找“how-to”文档
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,以此可以操作它的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页面上。

(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文件的页面了。

本文转载自中国软件(http://www.csdn.net)。=版权所有 软件 下载 学院
版权所有
[]
- ››Visual Studio自定义调试窗体两个小技巧
- ››Visual Studio 2005 Team Edition for Database P...
- ››Visual C#两分钟搭建BHO IE钩子
- ››Visual C++优化对大型数据集合的并发访问
- ››Netpas加速 让非电信宽带用户流畅上网
- ››net中fckediter的图片上传时候点击\浏览服务器\出...
- ››VISUAL C++中的OCX控件的使用方法
- ››Visual C++实现视频图像处理技术
- ››Visual C++制作一个Sniffer实例
- ››Visual Studio 2010 中文试用版全面提供下载
- ››Netmsg局域网聊天程序
- ››Visual C++剪贴板操作不完全攻略
更多精彩
赞助商链接