999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于CrystalReport的.NET報表制作

2008-12-31 00:00:00
考試周刊 2008年51期

摘要: 本文介紹了在Microsoft.NET環境下如何利用Crystal Report工具制作報表,著重介紹了不同報表之間的差別以及在不同模式下產生報表的不同方法,同時還就.NET報表制作過程中的常見問題提出了解決方法。

關鍵詞: Crystal Report建立過程 使用 類型 執行模式

1.引言

基于.NET的WEB應用是目前的主流,因此研究在.NET平臺下如何制作、使用報表很有必要。一般任何超出基本格式化的報表制作都會比較復雜,很難對合并計算、多級匯總、制作圖表以及條件格式化等進行編程,而這些問題在.NET環境下通過使用Crystal Report(水晶報表)可以很好地得到解決。本文主要介紹了在.NET環境下如何利用Crystal Report工具制作報表,重點論述了在這兩種模式下報表制作的不同方法以及不同報表之間的差別,同時還就報表制作過程中的常見問題提出了解決方法。

2.Crystal Report 簡介

Crystal Report是微軟Visual Studio.NET上標準的報表制作工具,可在.NET平臺上建立具有交互式和簡報性質的報表。Crystal Report使用XML的標準結構,使用戶能將制作的報表裝載到Windows和Web平臺,并將Crystal Report所產生的報表發布成Web服務器上的“報表Web服務”,也就是說當“報表Web服務”發行到Web服務器上后,位于前端的應用程序就可以使用它,在網絡上瀏覽或打印。

Crystal Report支持來自不同來源的數據可支持數據源如表1所示:

3.Crystal Report的建立過程

3.1 Windows程序中Crystal Report的使用

在Windows窗體中報表的建立,首先需要新建Windows項目,為了便于對程序的查看需要添加Crystal Report Viewer 控件,添加“選擇報表”按鈕以便在輸出時選擇不同的數據格式,添加按鈕響應事件crvTest.Report Source = dlg.FileName以使按鈕和事件相對應(如圖1所示,就是將文件的路徑名給ReportSource)。

3.2 Web窗體中水晶報表的使用

在客戶端:客戶端僅需要一個可以訪問嵌入aspx頁面報表的游覽器就可以了,而在服務器端需要有:(1)水晶報表引擎(Crystal Report Engine(CREngine.dll)):在報告文件中合并數據,轉換報告為其它格式等;(2)水晶報表設計器(Crystal Report Designer(CRDesigner.dll)):水晶報表就是在設計器中創建的,在設計器中你可以設計標題,插入數據、公式、圖表、子報表等;(3).rpt報表文件:執行報表中的第一步就是在水晶報表設計器接口創建此報表;(4)Data Source:通過rpt文件取得數據庫;(5)水晶報表查看控件(Crystal Report Viewer webform Control (CRWebFormViewer.dll)):是一個WebForm控件,可以將它看成是一個在.aspx頁面中存放報表的容器。如圖2所示,可以發現基于Web的水晶報表查看器沒有打印和導出按鈕,要實現這些功能都需要自己添加代碼。

3.3 在添加CrystalReportViewer時的關鍵問題和解決方法

使用VB.NET中CrystalReport做報表時會遇到這樣的情況:在添加CrystalReportViewer時在“WindowsForm” 工具箱中沒有“CrystalReportViewer” 控件,而這樣的問題在C#.NET不會出現。要解決這樣的問題,如圖3所示,只須在“WindowsForm”工具箱中右擊鼠標,選擇“添加/移除項”,這樣就可以看到CrystalReportViewer控件。

4.兩種報表類型

根據報表是否直接加入項目可將報表分成兩種:(1)Strongly-typed 報表:當你將報表文件加入到項目中去時,它就變成了一個了“Strongly-typed”報表。在這些情況下,你將擁有直接創建報表的對象的權力,這將減少一些代碼并且能夠提供一些性能。(2)Un-Typed 報表:這里的報表并不直接包含在項目中,因此稱為“un-typed”報表。在這種情況下,不得不使用水晶報表的“ReportDocuemt”對象建立一個實例,并且“手動”地調用報表。

5.Crystal Reports的兩種執行模式

根據Crystal Report取數據方法的不同可以將執行模式分成Pull模式和Push模式:(1)Pull 模式:被請求時,Crystal Report直接根據指定的驅動連接數據庫然后組裝這些數據;(2) Push 模式:此時開發者不得不自己編寫代碼連接數據并組裝DataSet,同時將它傳送至報表。在這種情況下,通過使用連接共享以及限制記錄集合的大小,可以使報表性能最大化。

5.1 兩種模式的使用

Pull模式的使用從創建rpt文件開始,并使用水晶報表設計接口設置一些必須的數據連接;其次拖放一個Crystal Report Viewer控件至aspx頁面,設置它的屬性指定我們上一步創建的.rpt文件;最后在代碼中調用Data Bind方法。

Push模式的使用從創建一個DataSet開始,然后在aspx頁面中拖放一個CrystalReportViewer 控件,同時將其與前面的rpt文件建立聯系,再次在代碼中訪問數據庫并把數據存入DataSet,最后調用DataBind方法。

5.2 在選擇執行模式建立報表時的“無法加載”問題的解決方法

在使用上述兩種模式進行報表制作時通常會出現數據庫無法加載或者報表無法加載的問題,這個問題主要是因為配置屬性中的輸入/出路徑配置不正確造成的。具體解決方法如下:

在資源管理器中選取項目(如BasicReport),再使用“項目”→“BasicReport屬性”,切換至“配置屬性”的“生成”,清除“輸出路徑”,“輸出路徑”的默認值是“bin\Debug”(是默認存儲目錄,所以和圖中的“bin\\”路徑不矛盾),這就可以防止在導出時出現“無法加載”的錯誤。如圖4所示:

6.小結

本文論述了在Microsoft.NET環境下如何利用Crystal Report工具制作報表,通過實例介紹在Pull和Push兩種報表制作模式下基于Web平臺的報表的制作過程,并就制作過程中Pull和Push兩種模式的區別做了介紹,且針對常見問題給出了解決方案。

參考文獻:

[1]王華杰.精通C#數據庫開發.清華大學出版社,2004.

[2]微軟公司.用Visual Basic.NET和Visual C#.NET開發Windows應用程序,2004:5-6.

主站蜘蛛池模板: 2021国产精品自产拍在线观看| 亚洲黄色网站视频| 亚洲乱码精品久久久久..| 国产日韩欧美精品区性色| 久久成人国产精品免费软件| 国产精品成人不卡在线观看| a色毛片免费视频| 全部毛片免费看| 久久精品女人天堂aaa| 欧美啪啪一区| 99这里只有精品在线| 国产真实乱子伦精品视手机观看| 日韩东京热无码人妻| 久久久久人妻一区精品| 亚洲国产理论片在线播放| 老司国产精品视频91| 国产在线八区| 亚洲天堂视频网站| 99这里只有精品6| 依依成人精品无v国产| 99re精彩视频| 日韩在线观看网站| 在线观看无码av五月花| 国产福利大秀91| 女人av社区男人的天堂| 欧美一级特黄aaaaaa在线看片| 日本高清成本人视频一区| 中文字幕一区二区人妻电影| 91九色最新地址| 国产全黄a一级毛片| 亚洲精品你懂的| 免费观看国产小粉嫩喷水| 国产成人亚洲欧美激情| 成人综合在线观看| 欧美区在线播放| 精品视频一区在线观看| 国产人碰人摸人爱免费视频| 亚洲妓女综合网995久久| 国产成人精品一区二区免费看京| 在线看国产精品| 毛片久久久| 精品视频在线一区| 亚洲欧美国产高清va在线播放| 国产女人在线视频| 九月婷婷亚洲综合在线| 视频一区亚洲| 国产爽爽视频| 免费在线播放毛片| 日韩免费中文字幕| 国产永久在线观看| 国产欧美日韩精品综合在线| 日本午夜三级| 日韩成人在线一区二区| 亚洲欧洲日产国产无码AV| 91小视频在线播放| 国产经典三级在线| 四虎成人精品在永久免费| 免费无码AV片在线观看中文| 亚洲三级视频在线观看| 色婷婷成人| 毛片在线看网站| 少妇露出福利视频| 韩日午夜在线资源一区二区| 九九久久精品国产av片囯产区| 国产一区二区网站| 99久久精品久久久久久婷婷| 怡红院美国分院一区二区| 中文字幕自拍偷拍| 高清无码手机在线观看| 国产成人在线无码免费视频| 自偷自拍三级全三级视频| 996免费视频国产在线播放| 亚洲第一区在线| 成人午夜福利视频| 亚洲欧美不卡视频| 国产综合日韩另类一区二区| 999国产精品永久免费视频精品久久 | 国产午夜精品鲁丝片| 亚洲欧美国产高清va在线播放| 亚洲黄网在线| 免费毛片a| 中文国产成人精品久久|