![《C__WinForm實踐開發(fā)教程》chp7.水晶報表技術_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/21/6a5ed0e3-51af-4a3e-b79f-cb5e65575ac3/6a5ed0e3-51af-4a3e-b79f-cb5e65575ac31.gif)
![《C__WinForm實踐開發(fā)教程》chp7.水晶報表技術_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/21/6a5ed0e3-51af-4a3e-b79f-cb5e65575ac3/6a5ed0e3-51af-4a3e-b79f-cb5e65575ac32.gif)
![《C__WinForm實踐開發(fā)教程》chp7.水晶報表技術_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/21/6a5ed0e3-51af-4a3e-b79f-cb5e65575ac3/6a5ed0e3-51af-4a3e-b79f-cb5e65575ac33.gif)
![《C__WinForm實踐開發(fā)教程》chp7.水晶報表技術_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/21/6a5ed0e3-51af-4a3e-b79f-cb5e65575ac3/6a5ed0e3-51af-4a3e-b79f-cb5e65575ac34.gif)
![《C__WinForm實踐開發(fā)教程》chp7.水晶報表技術_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/21/6a5ed0e3-51af-4a3e-b79f-cb5e65575ac3/6a5ed0e3-51af-4a3e-b79f-cb5e65575ac35.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、-基于C#語言主講教師:錢 哨本課學時:72課時聯(lián)系方式:Windows程序設計第七章、水晶報表技術n本章主要內(nèi)容介紹5.1 windows和窗體5.2 Visual Stutio .net IDE簡介5.3 事件處理CONTENT本章學習目標:本章學習目標: 理解水晶報表的作用和優(yōu)點 使用水晶報表專家創(chuàng)建水晶報表 在窗體中使用水晶報表和報表綁定簡介 7-1產(chǎn)品部的薪金詳細信息財務部的薪金詳細信息市場部的薪金詳細信息按順序顯示信息匯總信息?報表格式化且有條理的數(shù)據(jù)記錄表示方式水晶報表簡介 7-2姓名: Allen John職位:分析員部門:20薪金:10000姓 名 : J a c k Tur
2、ner職位: 行政人員部門: 10薪金: 3200姓名: Mark Lee職位: 經(jīng)理部門: 30薪金: 12000姓名: Chan Cho職位: 銷售員部門: 40薪金: 7600姓名: David Blake職位: 銷售員部門: 40薪金: 6500姓 名 : S u s a n Jones職位: 行政人員部門: 10薪金: 4500姓 名 : S c o t t William職位: 銷售員部門: 40薪金: 8500姓名: Adam Johns職位: 分析員部門: 20薪金: 9500用表格形式顯示的數(shù)據(jù)需要手動計算每個部門的總薪金水晶報表簡介 7-3Jack Turner行政人員10
3、3200Susan Jones行政人員104500部門部門 10 的總薪金是的總薪金是 7700Allen John分析員2010000Adam Johns分析員209500部門 20 的總薪金是 19500 Mark Lee經(jīng)理3012000部門部門 30 的總薪金是的總薪金是 12000 Chan Cho銷售員407600David Blake銷售員406500Scott William銷售員408500部門部門 40 的總薪金是的總薪金是 22700 有條理的表示數(shù)據(jù)記錄更容易匯總所需的信息水晶報表簡介 7-4 水晶報表是 Visual Studio 環(huán)境(包括 Visual Studi
4、o.NET)中用于創(chuàng)建報表的標準工具 利用水晶報表可以創(chuàng)建交互式的優(yōu)質(zhì)報表 不僅能為 WinForms 和 WebForms 創(chuàng)建報表,還能將報表作為Web 服務存放在 Web 服務器上 “水晶報表設計器”界面用于創(chuàng)建并格式化報表,大大減少代碼編寫量水晶報表的功能運行時自定義報表查看器與其他控件之間的交互報表作為Web服務借助交互式界面更加容易地創(chuàng)建報表水晶報表水晶報表Windows窗體中水晶報表的使用 7-5u 新建Windows項目u 添加CrystalReportViewer 控件u 添加“選擇報表”按鈕u 添加按鈕響應事件private void btnSelect_Click(obj
5、ect sender, System.EventArgs e) OpenFileDialog dlg = new OpenFileDialog(); dlg.Title = 打開水晶報表文件; dlg.Filter = 水晶報表文件(*.rpt)|*.rpt|所有文件|*.*; if(dlg.ShowDialog()=DialogResult.OK) crystalReportViewer1.ReportSource = dlg.FileName; Windows窗體中水晶報表的使用 7-6水晶報表的操作分為兩部分顯示報表文件設計報表文件建立水晶報表文件 7-71、 執(zhí)行模式執(zhí)行模式水晶報表取
6、數(shù)據(jù)可以使用下面的方法實現(xiàn): Pull 模式: 被請求時,水晶報表直接根據(jù)指定的驅動連接數(shù)據(jù)庫然后組裝這些數(shù)據(jù),當然這種方式不需要編寫任何代碼不需要編寫任何代碼。 Push 模式: 此時開發(fā)者不得不自己編寫代碼連接數(shù)據(jù)并組裝不得不自己編寫代碼連接數(shù)據(jù)并組裝DataSet,同時將它傳送至報表。在這種情況下,通過使用連接共享以及限制記錄集合的大小,可以使用報表性能最大化。建立水晶報表文件 7-72、報表類型、報表類型(1)Strongly-typed 報表: 當你將報表文件加入到項目中去時,它就變成了一個了“ strongly-typed“報表。在這些情況下,你將擁有直接創(chuàng)建報表的對象的權力,這將
7、減少一些代碼并且能夠提供一些性能。(2)Un-Typed 報表: 這里的報表并不直接包含在項目中,因此稱為un-typed 報表。在這種情況下,你不得不使用水晶報表的”ReportDocuemt“對象建立一個實例,并且”手動“地調(diào)用報表。建立水晶報表文件 7-73、Pull模式的使用模式的使用(1)首先創(chuàng)建rpt文件,并使用水晶報表設計接口設置一些必須的數(shù)據(jù)連接。(2)拖放一個CrystalReportViewer控件至aspx頁面,設置它的屬性指定我們上一步創(chuàng)建的.rpt文件。建立水晶報表文件 7-73、Pull模式的使用模式的使用(1)在右擊“解決方案游覽器”,在彈出的菜單中選擇“添加”“
8、添加新項”“Crystal Report”(2)在“Crystal Report 庫”中選擇“作為空白報表”單選按鈕,最后單擊“確定”。建立水晶報表文件 7-73、Pull模式的使用模式的使用(3)出現(xiàn)水晶報表設計器。(4)右擊報表中的“詳細資料區(qū)”,選擇“數(shù)據(jù)庫”“數(shù)據(jù)庫專家.“。在彈出的“數(shù)據(jù)庫專家”中,擴展“OLE DB(ADO)”選項,此時會彈出另外一個“OLE DB(ADO)”窗口。建立水晶報表文件 7-73、Pull模式的使用模式的使用(5)在OLE DB (ADO) 彈出窗口中,選擇MicrosoftOLE DB Provider for SQL Server 然后Next(6)
9、指定連接的信息(選擇Pubs庫),單擊“下一步”,最后單擊“完成”按鈕。建立水晶報表文件 7-73、Pull模式的使用模式的使用(7)這時你就能在“數(shù)據(jù)庫專家”窗口中看到我們選擇的數(shù)據(jù)庫。 擴展“Pubs”數(shù)據(jù)庫,擴展“表”,選擇“employee”表并將其加到“選定的表”區(qū)中,單擊“確定”按鈕。(8)現(xiàn)在在“字段資源瀏覽器”中就會在左邊“數(shù)據(jù)庫字段”區(qū)中顯示你選擇的表,以及表中的字段。建立水晶報表文件 7-73、Pull模式的使用模式的使用(9)拖放需要的字段進入報表的“詳細資料”區(qū)。字段名將會自動出現(xiàn)在”頁眉“區(qū)。如果你想修改頭部文字,則可以右擊“頁眉”區(qū)中的文字,選擇”編輯文本對象“選項
10、并進行編輯。保存并瀏覽信息。建立水晶報表文件 7-73、Pull模式的使用模式的使用(10)回到前面的WebForm中,拖放一個CrystalReport Viewer控件到頁面中去。(11)調(diào)出Crystal Report Viewer控件的屬性窗口,選擇“ReportSource”區(qū)點擊下拉列表。此時你能夠從Crystal Report Viewer 控件中看到使用一些虛擬數(shù)據(jù)組成的報表文件的預覽。建立水晶報表文件 7-74、使用、使用Push模式模式 設計一個DataSet 創(chuàng)建一個.rpt文件同時將其指定給上一步建立的DataSet。 在aspx頁面中拖放一個CrystalReport
11、Viewer 控件同時將其與前面的rpt文件建立聯(lián)系。 在代碼中訪問數(shù)據(jù)庫并把數(shù)據(jù)存入DataSet 調(diào)用DataBind方法?;静襟E基本步驟建立水晶報表文件 7-74、使用、使用Push模式模式第一步:設計一個第一步:設計一個DataSet(1) 右擊“解決方案瀏覽器”,選擇“添加”-“添加新項”-“數(shù)據(jù)集”(2)從“服務器資源管理器”中的“SQL Server”中拖放“Stores”表(位于PUBS數(shù)據(jù)庫中)。(3)此時在數(shù)據(jù)集中就會有一個Stores表的結構圖。建立水晶報表文件 7-74、使用、使用Push模式模式第一步:設計一個第一步:設計一個DataSet建立水晶報表文件 7-74
12、、使用、使用Push模式模式第二步:創(chuàng)建一個第二步:創(chuàng)建一個.rpt文件同時將其指定給上一步建立的文件同時將其指定給上一步建立的DataSet4) 使用上面的介紹過的方法創(chuàng)建此文件,唯一的不同就是使用數(shù)據(jù)集來代替前面的直接連接數(shù)據(jù)。5)建立.rpt文件之后,右擊“詳細資料”-“添加刪除數(shù)據(jù)庫”6) 在“數(shù)據(jù)庫專家”窗口中,展開“項目數(shù)據(jù)”(代替以前的OleDb),展開“ADO.Net數(shù)據(jù)集”-“DataSet1”,選擇“Stores”表。7) 將“Stores”表添加到“選定的表”中,點擊“確定”建立水晶報表文件 7-74、使用、使用Push模式模式第二步:創(chuàng)建一個第二步:創(chuàng)建一個.rpt文件
13、同時將其指定給上一步建立的文件同時將其指定給上一步建立的DataSet建立水晶報表文件 7-74、使用、使用Push模式模式第三步:在第三步:在aspx頁面中拖放一個頁面中拖放一個CrystalReportViewer 控件同時將其與前面的控件同時將其與前面的rpt文件建立聯(lián)系。文件建立聯(lián)系。建立水晶報表文件 7-74、使用、使用Push模式模式第四步:建立一個第四步:建立一個Crystal Report Viewer 控件,并控件,并設定其屬性,此處與設定其屬性,此處與PULL模式下是一致的。同時注意將生成的模式下是一致的。同時注意將生成的dataset對象對象拖拽到窗體界面中。拖拽到窗體界
14、面中。建立水晶報表文件 7-74、使用、使用Push模式模式第五步:運行后我們將看見一張空的報表,主要原因是第五步:運行后我們將看見一張空的報表,主要原因是DataSet對象對象所復制的僅僅是空的物理表的模式結構,而實質(zhì)的數(shù)據(jù)必須通過編程所復制的僅僅是空的物理表的模式結構,而實質(zhì)的數(shù)據(jù)必須通過編程的方式才可以實現(xiàn)。的方式才可以實現(xiàn)。在代碼中訪問數(shù)據(jù)庫并把數(shù)據(jù)存入在代碼中訪問數(shù)據(jù)庫并把數(shù)據(jù)存入DataSet,代碼見下:,代碼見下:7-8 水晶報表文件設計案例案例案例1:打印某高校學生成績單案例:打印某高校學生成績單案例某高校為合作辦學院校,現(xiàn)有三所合作院校,且成績單據(jù)的格式某高校為合作辦學院校,
15、現(xiàn)有三所合作院校,且成績單據(jù)的格式完全不一致,紙質(zhì)報表樣式如下:【詳見學生成績單據(jù)報表圖片】完全不一致,紙質(zhì)報表樣式如下:【詳見學生成績單據(jù)報表圖片】7-8 水晶報表文件設計案例案例案例1:打印某高校學生成績單案例:打印某高校學生成績單案例數(shù)據(jù)庫分析【數(shù)據(jù)庫分析報告見電子文檔】數(shù)據(jù)庫分析【數(shù)據(jù)庫分析報告見電子文檔】7-8 水晶報表文件設計案例案例案例1:打印某高校學生成績單案例:打印某高校學生成績單案例第一步:建立一個空的rpt文件,首先進行整個報表的紙張大小設置,這一點對于后期打印報表和報表布局非常重要第二步:將紙張大小設置成為B5紙,縱向7-8 水晶報表文件設計案例案例案例1:打印某高校學
16、生成績單案例:打印某高校學生成績單案例第三步:再選擇頁面設置,配置頁面的上下左右的邊距。具體的邊距要求參照WORD文檔對于頁面的設置參數(shù)。7-8 水晶報表文件設計案例案例案例1:打印某高校學生成績單案例:打印某高校學生成績單案例第四步:從報表的工具箱中選擇文本對象,拖到報表頁眉處,鍵入“網(wǎng)絡管理”字樣后,點擊右鍵選擇設置對象格式,建立如下圖的報表頁眉樣式。7-8 水晶報表文件設計案例案例案例1:打印某高校學生成績單案例:打印某高校學生成績單案例第五步:設計頁眉部分。由于報表左側線段無法通過工具箱的控件實現(xiàn),故通過繪圖軟件實現(xiàn)這部分內(nèi)容。通過右鍵點擊頁眉處,選擇圖片,將制作好的圖片插入左側頁眉處
17、。而后,以該圖片的高設定為頁眉高。從工具箱之中拖拽框對象,此處需要注意的是,繪制邊框時候,頁眉和詳細資料西部一起框住,這樣產(chǎn)生的報表樣式可以統(tǒng)一美觀。7-8 水晶報表文件設計案例案例案例1:打印某高校學生成績單案例:打印某高校學生成績單案例第六步:選擇工具箱之中的線條對象,在頁眉處繪制出四個單元格,準備添加相關的文字信息。7-8 水晶報表文件設計案例案例案例1:打印某高校學生成績單案例:打印某高校學生成績單案例第七步:用右鍵點擊報表界面,在彈出的菜單中選擇數(shù)據(jù)庫-數(shù)據(jù)庫專家,在彈出的OLE DB(ADO)界面中選擇OLE DB Provider SQL Server,并配置數(shù)據(jù)庫服務器連接信息
18、。選擇完成后,打開菜單中的水晶報表項里面的字段資源管理器,貯備將展開的數(shù)據(jù)庫字段拖拽到報表界面上面。7-8 水晶報表文件設計案例案例案例1:打印某高校學生成績單案例:打印某高校學生成績單案例第八步:將頁眉處文字按照下圖寫入,并配置字體大小,同時用線條對象勾勒出表格的基本數(shù)據(jù)分布區(qū)域。拖拽過來的屬性字段刪除頁眉部分后,將實際字段分別排列在詳細資料的空格內(nèi)。7-8 水晶報表文件設計案例案例案例1:打印某高校學生成績單案例:打印某高校學生成績單案例第九步:配置報表頁腳部分,從工具箱中拖拽文本,線條和框對象共同組成下圖頁腳的樣式。7-8 水晶報表文件設計案例案例案例1:打印某高校學生成績單案例:打印某
19、高校學生成績單案例第十步:右鍵點擊報表頁面,選擇報表-節(jié)專家,在打開的節(jié)專家設計器里面,勾選在頁面底部打印功能。此功能可以使得報表頁腳僅僅在最后一頁的底部顯示。7-8 水晶報表文件設計案例案例案例1:打印某高校學生成績單案例:打印某高校學生成績單案例第十一步:整體設計完成后的報表如下圖所示,點擊主報表預覽,可以預覽報表基本樣子。7-8 水晶報表文件設計案例案例案例1:打印某高校學生成績單案例:打印某高校學生成績單案例第十二步:回到form1界面,從水晶報表中拖出一個crystalReportViewer對象,并配置該crystalReportViewer對象的reportsource屬性為剛才設計的rpt文件。運行form1,程序一切正常,主要問題是:u報表頭非動態(tài)變化的數(shù)據(jù);u顯示的學生成績內(nèi)容并非一個班的,而是所有的學生成績。u每門課程的百分比非動態(tài)變化的,畢竟每個教師給出的百分比都不盡相同。u報表頁腳的信息是靜態(tài)不變的。很顯然,離真實的動
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 腹腔鏡微創(chuàng)手術治療異位妊娠的臨床效果及安全性研究
- 二零二五年度林業(yè)碳匯交易林地承包合同范本3篇
- 二零二五年度環(huán)保產(chǎn)業(yè)委托擔保合同模板3篇
- 通信行業(yè)安全設備檢修
- 二零二五年度個人租賃車輛保險合同范本2篇
- 《二零二五版水電站施工合同爭議解決及仲裁條款》3篇
- 二零二五年度電子商務平臺銷售擔保合同范本
- 初中學年度第二學期八年級地理教案
- 關注民生-加強公共安全-構建和諧社會
- 二零二五年度金融創(chuàng)新產(chǎn)品居間服務合同3篇
- 《亞太經(jīng)合組織》課件
- 《會展概述》課件
- 《郴州市總體規(guī)劃》課件
- 【高中物理競賽大全】 競賽3 電磁學 50題競賽真題強化訓練解析版-高考物理備考復習重點資料歸納
- 再見2024你好2025展望未來
- 2025屆山東省濟南市歷城二中高二上數(shù)學期末學業(yè)質(zhì)量監(jiān)測試題含解析
- 2024年全國各地中考試題分類匯編:文學常識
- 2022年版義務教育語文課程標準題庫(教師教資培訓考試專用十三套)
- 英語新課標(英文版)-20220602111643
- 高考模擬作文“文化自信:春節(jié)走向世界”導寫+范文3篇
- 湖南汽車工程職業(yè)學院單招職業(yè)技能測試參考試題庫(含答案)
評論
0/150
提交評論