| 導購 | 订阅 | 在线投稿
分享
 
 
 

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

來源:互聯網網民  2008-06-01 01:11:34  評論

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=''>

< /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)。=版權所有 軟件 下載 學院

版權所有

 
特别声明:以上内容(如有图片或视频亦包括在内)为网络用户发布,本站仅提供信息存储服务。
 
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=''> < /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)。=版權所有 軟件 下載 學院 版權所有
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 
 熱帖排行
 
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有