![水晶報表技術(shù)概述_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/12/88385625-ad35-43e0-965c-bfd56427a212/88385625-ad35-43e0-965c-bfd56427a2121.gif)
![水晶報表技術(shù)概述_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/12/88385625-ad35-43e0-965c-bfd56427a212/88385625-ad35-43e0-965c-bfd56427a2122.gif)
![水晶報表技術(shù)概述_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/12/88385625-ad35-43e0-965c-bfd56427a212/88385625-ad35-43e0-965c-bfd56427a2123.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、-基于C#語言主講教師:錢 哨本課學時:72課時Windows程序設(shè)計第七章、水晶報表技術(shù)n本章主要內(nèi)容介紹5.1 windows和窗體5.2 Visual Stutio .net IDE簡介5.3 事件處理CONTENT本章學習目標:本章學習目標: 理解水晶報表的作用和優(yōu)點 使用水晶報表專家創(chuàng)立水晶報表 在窗體中使用水晶報表和報表綁定簡介 7-1產(chǎn)品部的薪金詳細信息財務(wù)部的薪金詳細信息市場部的薪金詳細信息按順序顯示信息匯總信息?報表格式化且有條理的數(shù)據(jù)記錄表示方式水晶報表簡介 7-2姓名: Allen John職位:分析員部門:20薪金:10000姓 名 : J a c k Turner職位
2、: 行政人員部門: 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行政人員103200S
3、usan 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 Studio.NET中
4、用于創(chuàng)立報表的標準工具 利用水晶報表可以創(chuàng)立交互式的優(yōu)質(zhì)報表 不僅能為 WinForms 和 WebForms 創(chuàng)立報表,還能將報表作為Web 效勞存放在 Web 效勞器上 “水晶報表設(shè)計器界面用于創(chuàng)立并格式化報表,大大減少代碼編寫量水晶報表的功能運行時自定義報表查看器與其他控件之間的交互報表作為Web效勞借助交互式界面更加容易地創(chuàng)立報表水晶報表水晶報表Windows窗體中水晶報表的使用 7-5u 新建Windows工程u 添加CrystalReportViewer 控件u 添加“選擇報表按鈕u 添加按鈕響應(yīng)事件private void btnSelect_Click(object sende
5、r, 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水晶報表的操作分為兩部分顯示報表文件設(shè)計報表文件建立水晶報表文件 7-71、 執(zhí)行模式執(zhí)行模式水晶報表取數(shù)據(jù)可以使用下面的
6、方法實現(xiàn): Pull 模式: 被請求時,水晶報表直接根據(jù)指定的驅(qū)動連接數(shù)據(jù)庫然后組裝這些數(shù)據(jù),當然這種方式不需要編寫任何代碼不需要編寫任何代碼。 Push 模式: 此時開發(fā)者不得不自己編寫代碼連接數(shù)據(jù)并組裝不得不自己編寫代碼連接數(shù)據(jù)并組裝DataSet,同時將它傳送至報表。在這種情況下,通過使用連接共享以及限制記錄集合的大小,可以使用報表性能最大化。建立水晶報表文件 7-72、報表類型、報表類型1Strongly-typed 報表:報表: 當你將報表文件參加到工程中去時,它就變當你將報表文件參加到工程中去時,它就變成了一個了成了一個了“ strongly-typed“報表。在這些報表。在這些情
7、況下,你將擁有直接創(chuàng)立報表的對象的權(quán)力,情況下,你將擁有直接創(chuàng)立報表的對象的權(quán)力,這將減少一些代碼并且能夠提供一些這將減少一些代碼并且能夠提供一些性能。性能。2Un-Typed 報表:報表: 這里的報表并不直接包含在工程中,因此稱這里的報表并不直接包含在工程中,因此稱為為un-typed 報表。在這種情況下,你不得報表。在這種情況下,你不得不使用水晶報表的不使用水晶報表的ReportDocuemt“對象建對象建立一個實例,并且手動立一個實例,并且手動“地調(diào)用報表。地調(diào)用報表。建立水晶報表文件 7-73、Pull模式的使用模式的使用1首先創(chuàng)立首先創(chuàng)立rpt文件,并使用水晶報表設(shè)計文件,并使用水晶
8、報表設(shè)計接口設(shè)置一些必須的數(shù)據(jù)連接。接口設(shè)置一些必須的數(shù)據(jù)連接。2拖放一個拖放一個CrystalReportViewer控件至控件至aspx頁面,設(shè)置它的屬性指定我們上一步創(chuàng)頁面,設(shè)置它的屬性指定我們上一步創(chuàng)立的立的.rpt文件。文件。建立水晶報表文件 7-73、Pull模式的使用模式的使用1在右擊“解決方案游覽器,在彈出的菜單中選擇“添加“添加新項“Crystal Report2在“Crystal Report 庫中選擇“作為空白報表單項選擇按鈕,最后單擊“確定。建立水晶報表文件 7-73、Pull模式的使用模式的使用3出現(xiàn)水晶報表設(shè)計器。4右擊報表中的“詳細資料區(qū),選擇“數(shù)據(jù)庫“數(shù)據(jù)庫專家
9、.“。在彈出的“數(shù)據(jù)庫專家中,擴展“OLE DB(ADO)選項,此時會彈出另外一個“OLE DB(ADO)窗口。建立水晶報表文件 7-73、Pull模式的使用模式的使用5在OLE DB (ADO) 彈出窗口中,選擇MicrosoftOLE DB Provider for SQL Server 然后Next6指定連接的信息(選擇Pubs庫),單擊“下一步,最后單擊“完成按鈕。建立水晶報表文件 7-73、Pull模式的使用模式的使用7這時你就能在“數(shù)據(jù)庫專家窗口中看到我們選擇的數(shù)據(jù)庫。 擴展“Pubs數(shù)據(jù)庫,擴展“表,選擇“employee表并將其加到“選定的表區(qū)中,單擊“確定按鈕。8現(xiàn)在在“字段
10、資源瀏覽器中就會在左邊“數(shù)據(jù)庫字段區(qū)中顯示你選擇的表,以及表中的字段。建立水晶報表文件 7-73、Pull模式的使用模式的使用9拖放需要的字段進入報表的“詳細資料區(qū)。字段名將會自動出現(xiàn)在頁眉“區(qū)。如果你想修改頭部文字,那么可以右擊“頁眉區(qū)中的文字,選擇編輯文本對象“選項并進行編輯。保存并瀏覽信息。建立水晶報表文件 7-73、Pull模式的使用模式的使用10回到前面的WebForm中,拖放一個CrystalReport Viewer控件到頁面中去。(11)調(diào)出Crystal Report Viewer控件的屬性窗口,選擇“ReportSource區(qū)點擊下拉列表。此時你能夠從Crystal Rep
11、ort Viewer 控件中看到使用一些虛擬數(shù)據(jù)組成的報表文件的預(yù)覽。建立水晶報表文件 7-74、使用、使用Push模式模式 設(shè)計一個DataSet 創(chuàng)立一個.rpt文件同時將其指定給上一步建立的DataSet。 在aspx頁面中拖放一個CrystalReportViewer 控件同時將其與前面的rpt文件建立聯(lián)系。 在代碼中訪問數(shù)據(jù)庫并把數(shù)據(jù)存入DataSet 調(diào)用DataBind方法。根本步驟根本步驟建立水晶報表文件 7-74、使用、使用Push模式模式第一步:設(shè)計一個第一步:設(shè)計一個DataSet1 右擊“解決方案瀏覽器,選擇“添加-“添加新項-“數(shù)據(jù)集2從“效勞器資源管理器中的“SQL
12、 Server中拖放“Stores表位于PUBS數(shù)據(jù)庫中。3此時在數(shù)據(jù)集中就會有一個Stores表的結(jié)構(gòu)圖。建立水晶報表文件 7-74、使用、使用Push模式模式第一步:設(shè)計一個第一步:設(shè)計一個DataSet建立水晶報表文件 7-74、使用、使用Push模式模式第二步:創(chuàng)立一個第二步:創(chuàng)立一個.rpt文件同時將其指定給上一步建立的文件同時將其指定給上一步建立的DataSet4) 使用上面的介紹過的方法創(chuàng)立此文件,唯一的不同就是使用數(shù)據(jù)集來代替前面的直接連接數(shù)據(jù)。5)建立.rpt文件之后,右擊“詳細資料-“添加刪除數(shù)據(jù)庫6) 在“數(shù)據(jù)庫專家窗口中,展開“工程數(shù)據(jù)代替以前的OleDb,展開“ADO
13、.Net數(shù)據(jù)集-“DataSet1,選擇“Stores表。7) 將“Stores表添加到“選定的表中,點擊“確定建立水晶報表文件 7-74、使用、使用Push模式模式第二步:創(chuàng)立一個第二步:創(chuàng)立一個.rpt文件同時將其指定給上一步建立的文件同時將其指定給上一步建立的DataSet建立水晶報表文件 7-74、使用、使用Push模式模式第三步:在第三步:在aspx頁面中拖放一個頁面中拖放一個CrystalReportViewer 控件同時將其與前面的控件同時將其與前面的rpt文件建立聯(lián)系。文件建立聯(lián)系。建立水晶報表文件 7-74、使用、使用Push模式模式第四步:建立一個第四步:建立一個Cryst
14、al Report Viewer 控件,并控件,并設(shè)定其屬性,此處與設(shè)定其屬性,此處與PULL模式下是一致的。同時注意將生成的模式下是一致的。同時注意將生成的dataset對象對象拖拽到窗體界面中。拖拽到窗體界面中。建立水晶報表文件 7-74、使用、使用Push模式模式第五步:運行后我們將看見一張空的報表,主要原因是第五步:運行后我們將看見一張空的報表,主要原因是DataSet對象對象所復(fù)制的僅僅是空的物理表的模式結(jié)構(gòu),而實質(zhì)的數(shù)據(jù)必須通過編程所復(fù)制的僅僅是空的物理表的模式結(jié)構(gòu),而實質(zhì)的數(shù)據(jù)必須通過編程的方式才可以實現(xiàn)。的方式才可以實現(xiàn)。在代碼中訪問數(shù)據(jù)庫并把數(shù)據(jù)存入在代碼中訪問數(shù)據(jù)庫并把數(shù)據(jù)
15、存入DataSet,代碼見下:,代碼見下:7-8 水晶報表文件設(shè)計案例案例案例1:打印某高校學生成績單案例:打印某高校學生成績單案例某高校為合作辦學院校,現(xiàn)有三所合作院校,且成績單據(jù)的格式某高校為合作辦學院校,現(xiàn)有三所合作院校,且成績單據(jù)的格式完全不一致,紙質(zhì)報表樣式如下:【詳見學生成績單據(jù)報表圖片】完全不一致,紙質(zhì)報表樣式如下:【詳見學生成績單據(jù)報表圖片】7-8 水晶報表文件設(shè)計案例案例案例1:打印某高校學生成績單案例:打印某高校學生成績單案例數(shù)據(jù)庫分析【數(shù)據(jù)庫分析報告見電子文檔】數(shù)據(jù)庫分析【數(shù)據(jù)庫分析報告見電子文檔】7-8 水晶報表文件設(shè)計案例案例案例1:打印某高校學生成績單案例:打印某高
16、校學生成績單案例第一步:建立一個空的rpt文件,首先進行整個報表的紙張大小設(shè)置,這一點對于后期打印報表和報表布局非常重要第二步:將紙張大小設(shè)置成為B5紙,縱向7-8 水晶報表文件設(shè)計案例案例案例1:打印某高校學生成績單案例:打印某高校學生成績單案例第三步:再選擇頁面設(shè)置,配置頁面的上下左右的邊距。具體的邊距要求參照WORD文檔對于頁面的設(shè)置參數(shù)。7-8 水晶報表文件設(shè)計案例案例案例1:打印某高校學生成績單案例:打印某高校學生成績單案例第四步:從報表的工具箱中選擇文本對象,拖到報表頁眉處,鍵入“網(wǎng)絡(luò)管理字樣后,點擊右鍵選擇設(shè)置對象格式,建立如以下圖的報表頁眉樣式。7-8 水晶報表文件設(shè)計案例案例
17、案例1:打印某高校學生成績單案例:打印某高校學生成績單案例第五步:設(shè)計頁眉局部。由于報表左側(cè)線段無法通過工具箱的控件實現(xiàn),故通過繪圖軟件實現(xiàn)這局部內(nèi)容。通過右鍵點擊頁眉處,選擇圖片,將制作好的圖片插入左側(cè)頁眉處。而后,以該圖片的高設(shè)定為頁眉高。從工具箱之中拖拽框?qū)ο螅颂幮枰⒁獾氖?,繪制邊框時候,頁眉和詳細資料西部一起框住,這樣產(chǎn)生的報表樣式可以統(tǒng)一美觀。7-8 水晶報表文件設(shè)計案例案例案例1:打印某高校學生成績單案例:打印某高校學生成績單案例第六步:選擇工具箱之中的線條對象,在頁眉處繪制出四個單元格,準備添加相關(guān)的文字信息。7-8 水晶報表文件設(shè)計案例案例案例1:打印某高校學生成績單案例:
18、打印某高校學生成績單案例第七步:用右鍵點擊報表界面,在彈出的菜單中選擇數(shù)據(jù)庫-數(shù)據(jù)庫專家,在彈出的OLE DB(ADO)界面中選擇OLE DB Provider SQL Server,并配置數(shù)據(jù)庫效勞器連接信息。選擇完成后,翻開菜單中的水晶報表項里面的字段資源管理器,貯備將展開的數(shù)據(jù)庫字段拖拽到報表界面上面。7-8 水晶報表文件設(shè)計案例案例案例1:打印某高校學生成績單案例:打印某高校學生成績單案例第八步:將頁眉處文字按照以下圖寫入,并配置字體大小,同時用線條對象勾勒出表格的根本數(shù)據(jù)分布區(qū)域。拖拽過來的屬性字段刪除頁眉局部后,將實際字段分別排列在詳細資料的空格內(nèi)。7-8 水晶報表文件設(shè)計案例案例
19、案例1:打印某高校學生成績單案例:打印某高校學生成績單案例第九步:配置報表頁腳局部,從工具箱中拖拽文本,線條和框?qū)ο蠊餐M成以下圖頁腳的樣式。7-8 水晶報表文件設(shè)計案例案例案例1:打印某高校學生成績單案例:打印某高校學生成績單案例第十步:右鍵點擊報表頁面,選擇報表-節(jié)專家,在翻開的節(jié)專家設(shè)計器里面,勾選在頁面底部打印功能。此功能可以使得報表頁腳僅僅在最后一頁的底部顯示。7-8 水晶報表文件設(shè)計案例案例案例1:打印某高校學生成績單案例:打印某高校學生成績單案例第十一步:整體設(shè)計完成后的報表如以下圖所示,點擊主報表預(yù)覽,可以預(yù)覽報表根本樣子。7-8 水晶報表文件設(shè)計案例案例案例1:打印某高校學生
20、成績單案例:打印某高校學生成績單案例第十二步:回到form1界面,從水晶報表中拖出一個crystalReportViewer對象,并配置該crystalReportViewer對象的reportsource屬性為剛剛設(shè)計的rpt文件。運行form1,程序一切正常,主要問題是:報表頭非動態(tài)變化的數(shù)據(jù);顯示的學生成績內(nèi)容并非一個班的,而是所有的學生成績。每門課程的百分比非動態(tài)變化的,畢竟每個教師給出的百分比都不盡相同。報表頁腳的信息是靜態(tài)不變的。很顯然,離真實的動態(tài)報表還是相距甚遠。7-8 水晶報表文件設(shè)計案例案例案例2:水晶報表定制案例:水晶報表定制案例第一步:將第四章ADO.NET中案例中的類
21、庫businesslayer.cs和databaselayer.cs,以及案例14窗體文件form14.cs, form14.designer.cs, form14.resx復(fù)制到水晶報表工程中,指定窗體文件form14.cs 為首頁運行。7-8 水晶報表文件設(shè)計案例案例案例2:水晶報表定制案例:水晶報表定制案例第二步:運行窗體文件form14.cs ,調(diào)整并運行后狀態(tài)如以下圖所示。期望當點擊打印按鈕時候,可以將某班級某課程的水晶報表通過剛剛建立的案例1顯示出來,即翻開當前工程的form1窗體。7-9 水晶報表文件設(shè)計案例案例案例2:水晶報表定制案例:水晶報表定制案例第二步:運行窗體文件for
22、m14.cs ,調(diào)整并運行后狀態(tài)如以下圖所示。期望當點擊打印按鈕時候,可以將某班級某課程的水晶報表通過剛剛建立的案例1顯示出來,即翻開當前工程的form1窗體??偨Y(jié) 水晶報表是用于創(chuàng)立報表的標準工具 水晶報表的優(yōu)點包括: 運行時自定義 報表查看器與其他控件之間的交互 報表作為 Web 效勞 開發(fā) Windows 應(yīng)用程序時,可以使用CrystalReportViewer控件將報表綁定到 WinForms窗體上 ADO.NET 數(shù)據(jù)集設(shè)計器用于創(chuàng)立只包含數(shù)據(jù)結(jié)構(gòu)而不包含實際數(shù)據(jù)的數(shù)據(jù)集對象 水晶報表中的選擇公式可用于計算字段和匯總,確定如何顯示報表的輸出結(jié)果9、靜夜四無鄰,荒居舊業(yè)貧。2022/
23、4/222022/4/22Friday, April 22, 202210、雨中黃葉樹,燈下白頭人。2022/4/222022/4/222022/4/224/22/2022 1:15:20 AM11、以我獨沈久,愧君相見頻。2022/4/222022/4/222022/4/22Apr-2222-Apr-2212、故人江海別,幾度隔山川。2022/4/222022/4/222022/4/22Friday, April 22, 202213、乍見翻疑夢,相悲各問年。2022/4/222022/4/222022/4/222022/4/224/22/202214、他鄉(xiāng)生白發(fā),舊國見青山。22 四月 2
24、0222022/4/222022/4/222022/4/2215、比不了得就不比,得不到的就不要。四月 222022/4/222022/4/222022/4/224/22/202216、行動出成果,工作出財富。2022/4/222022/4/2222 April 202217、做前,能夠環(huán)視四周;做時,你只能或者最好沿著以腳為起點的射線向前。2022/4/222022/4/222022/4/222022/4/229、沒有失敗,只有暫時停止成功!。2022/4/222022/4/22Friday, April 22, 202210、很多事情努力了未必有結(jié)果,但是不努力卻什么改變也沒有。2022/
25、4/222022/4/222022/4/224/22/2022 1:15:20 AM11、成功就是日復(fù)一日那一點點小小努力的積累。2022/4/222022/4/222022/4/22Apr-2222-Apr-2212、世間成事,不求其絕對圓滿,留一份缺乏,可得無限完美。2022/4/222022/4/222022/4/22Friday, April 22, 202213、不知香積寺,數(shù)里入云峰。2022/4/222022/4/222022/4/222022/4/224/22/202214、意志堅強的人能把世界放在手中像泥塊一樣任意揉捏。22 四月 20222022/4/222022/4/222022/4/2215、楚塞三湘接,荊門九派通。四月 222022/4/222022/4/222022/4/224/22/202216、少年十五二十時,步行奪得胡
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國PWM制氫電源行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 必殺03 第六單元 我們生活的大洲-亞洲(綜合題20題)(解析版)
- 講稿《教育強國建設(shè)規(guī)劃綱要(2024-2035年)》學習宣講
- 2025關(guān)于合同中的表見代理
- 商業(yè)物業(yè)租賃合同范本
- 試驗檢測未來的發(fā)展方向
- 天然氣購銷合同模板
- 2025機械加工合同
- 卷簾門電機售后合同范本
- 商鋪的買賣合同年
- 2024年審計局公務(wù)員招錄事業(yè)單位招聘考試招錄139人完整版附答案【研優(yōu)卷】
- 濰坊市人民醫(yī)院招聘真題
- 銷售人員薪資提成及獎勵制度
- 2017年江蘇南京中考滿分作文《無情歲月有味詩》5
- 2023年宏觀經(jīng)濟學考點難點
- 2024-2030年中國智慧水務(wù)行業(yè)應(yīng)用需求分析發(fā)展規(guī)劃研究報告
- 山體排險合同模板
- 特殊感染手術(shù)的配合與術(shù)后處理課件
- 檢驗科生物安全工作總結(jié)
- 《金屬與石材幕墻工程技術(shù)規(guī)范》jgj1332001-2021112401384
- 即時通訊系統(tǒng)建設(shè)方案
評論
0/150
提交評論