第八章數(shù)據(jù)報表與數(shù)據(jù)圖表-welcometonginx!_第1頁
已閱讀1頁,還剩16頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第15章 數(shù)據(jù)報表與數(shù)據(jù)圖表,Crystal Reports(水晶報表),在信息系統(tǒng)的設(shè)計和開發(fā)中,有大量的應(yīng)用軟件需要以報表形式將輸出結(jié)果顯示或打印。Crystal Reports(水晶報表) 可以方便地創(chuàng)建簡單報表,同時它也提供了創(chuàng)建復(fù)雜或?qū)S玫膱蟊硭璧恼坠ぞ?。它可以?.NET環(huán)境下使用。通過使用.NET水晶報表所支持的水晶報表查看器控件(CrystalReportViewer ),可以在Web或Windows應(yīng)用程序中承

2、載報表。,水晶報表核心組件,嵌入式 Crystal Reports Designer:用于創(chuàng)建或修改報表。它由一個圖形用戶界面(用于進(jìn)行“所見即所得”的報表設(shè)計)和一系列“報表專家”(用于簡化數(shù)據(jù)連接、排序、分組和其它報表設(shè)計問題)組成。報表查看器控件CrystalReportViewer :可以將其添加到Windows或Web應(yīng)用程序中的窗體上,用于在該窗體上顯示報表。對象模型:.NET水晶報表提供了包含CrystalReport

3、Viewer和ReportDocument兩個對象模型的 SDK。獲得額外的授權(quán)升級后,該 SDK 可擴(kuò)展到包含四種對象模型。,【例15-1】Crystal Reports自帶的示例水晶報表的顯示:World Sales Report.rpt。,在.NET中創(chuàng)建一個新的項目文件。從工具箱中拖動CrystalReportViewer控件至表單Form1中,并適當(dāng)調(diào)整表單以及CrystalReportViewer控件的大小。設(shè)置Crys

4、talReportViewer控件的“ReportSource”屬性,將報表綁定到CrystalReportViewer控件。點(diǎn)擊選中表單中的CrystalReportViewer控件,在水晶報表查看器控件屬性面板中,利用“ReportSource”屬性的“瀏覽”選項,在隨后出現(xiàn)的 “打開一個現(xiàn)有的Crystal Report”對話框中,選擇.rpt文件路徑和文件名,此例為:“C:\Program Files\Microsoft Vis

5、ual Studio .NET 2003\Crystal Reports\Samples\Reports\General Business\World Sales Report.rpt”報表文件,然后單擊“打開”按鈕。保存并運(yùn)行項目文件。,World Sales Report.rpt,.NET水晶報表的數(shù)據(jù)訪問方式,推模式(PUSH) 需要開發(fā)人員編寫代碼以連接到數(shù)據(jù)庫,執(zhí)行SQL命令以創(chuàng)建與報表中的字段相匹配的記錄集或數(shù)

6、據(jù)集(DataSet),并且將該數(shù)據(jù)集傳送至報表。該方法可以使開發(fā)人員將連接共享置入應(yīng)用程序中,并在 Crystal Reports 收到數(shù)據(jù)之前先篩選出所需數(shù)據(jù),從而提高報表性能。,拉模式(PULL) 水晶報表直接根據(jù)指定的驅(qū)動連接數(shù)據(jù)庫并直接將需要的數(shù)據(jù)“拉”進(jìn)報表。使用這種模式時,與數(shù)據(jù)庫的連接和為了獲取數(shù)據(jù)而執(zhí)行的SQL命令均由Crystal Reports 本身處理,不需要開發(fā)人員編寫代碼。,設(shè)計和創(chuàng)建水晶報表,在V

7、S.NET 2003中創(chuàng)建并顯示水晶報表的基本過程如下:規(guī)劃報表設(shè)計。創(chuàng)建新的.NET項目文件。創(chuàng)建數(shù)據(jù)集(只有采用推模式時需要):通過數(shù)據(jù)適配器配置向?qū)?chuàng)建數(shù)據(jù)集的具體操作步驟可參見本書7.1.3節(jié)ADO數(shù)據(jù)庫訪問。創(chuàng)建Crystal報表:在項目中添加新報表(.RPT),利用“標(biāo)準(zhǔn)報表專家”創(chuàng)建向?qū)?chuàng)建Crystal報表。利用Crystal Reports Designer修改報表布局。向Windows窗體添加Crysta

8、lReportViewer控件,并將所創(chuàng)建的Crystal報表綁定到CrystalReportViewer控件。運(yùn)行應(yīng)用程序,查看報表顯示結(jié)果。,,設(shè)計和創(chuàng)建水晶報表,【例15-2】采用水晶報表的PULL模式制作一個簡單的學(xué)生名冊報表。,報表設(shè)計環(huán)境,(1)關(guān)于報表創(chuàng)建選項每次創(chuàng)建新報表時,都有三個選項:1)使用報表專家 “使用報表專家”作為創(chuàng)建報表的向?qū)В徊揭徊降匾龑?dǎo)開發(fā)人員盡可能快地創(chuàng)建報表。Crystal Rep

9、orts提供標(biāo)準(zhǔn)、套用信函、窗體、交叉表、子報表、郵件標(biāo)簽、深化等各類報表專家供開發(fā)人員選用。2)作為空白報表 “作為空白報表”選項用于從頭開始創(chuàng)建報表。此選項往往用于當(dāng)需要具有完全的靈活性和控制能力,想要從頭開始創(chuàng)建報表時,或當(dāng)報表類型與向?qū)е性S多可用的報表類型都不同的情況。3)來自于現(xiàn)有的報表 “基于某個已經(jīng)存在的一個報表為模型而生成新報表。通過選擇“來自于現(xiàn)有的報表”選項來打開作為模型的一個報表,并使用“文

10、件”菜單上的“另存為”命令將其保存為新文件。,(2)報表專家 作為創(chuàng)建報表的向?qū)Э梢钥焖賱?chuàng)建報表。每類報表創(chuàng)建向?qū)Ф加扇舾蛇x項卡組成,指導(dǎo)用戶一步步創(chuàng)建指定的報表。 “數(shù)據(jù)”選項卡 :為新報表選擇數(shù)據(jù)源和數(shù)據(jù)表。可以選擇的數(shù)據(jù)源包括:項目數(shù)據(jù)AOD.NET數(shù)據(jù)源、OLE DB (ADO) 、、ODBC (RDO)、數(shù)據(jù)庫文件 等。“鏈接”選項卡:如果在“數(shù)據(jù)”選項卡上選擇了兩個或更多的表,則“鏈接”選項卡就會出現(xiàn)在報表創(chuàng)

11、建向?qū)е?,用于設(shè)置和顯示新報表中多個表之間的鏈接關(guān)系?!白侄巍边x項卡 :選擇要包含在報表中的字段。 “分組”選項卡 :指定字段在報表上的分組方式。創(chuàng)建組是向?qū)е械囊粋€可選步驟。 “匯總”選項卡 :對已分組的數(shù)據(jù)選擇要進(jìn)行小計(求和、平均值、計數(shù)等)、添加百分比以及總計等運(yùn)算的字段。創(chuàng)建匯總字段是向?qū)е械囊粋€可選步驟。 “組排序”選項卡 :對在“分組”選項卡中創(chuàng)建的組進(jìn)行排序?!皥D表”選項卡:在報表中創(chuàng)建圖表?!斑x擇”選項卡

12、:使用記錄選定公式和參數(shù)篩選想要包含在報表中的記錄。 “樣式”選項卡 :從預(yù)定義的格式化模板中選擇要在報表中使用的模板。,報表設(shè)計環(huán)境,(3)設(shè)計水晶報表的布局1)報表頁眉 :只在報表開頭輸出顯示一次。此節(jié)用于顯示報表的標(biāo)題等報表開始位置出現(xiàn)的信息。2)頁眉:輸出顯示在每個新頁的開始位置。此節(jié)通常用于顯示包括章節(jié)名、文檔名稱和其它類似信息。還可以用于顯示報表上字段上方的字段標(biāo)題。在報表中這些字段標(biāo)題將作為標(biāo)簽顯示在字段數(shù)據(jù)列的頂部

13、。3)詳細(xì)資料 :隨每條新記錄輸出顯示。此節(jié)包含報表正文數(shù)據(jù)。4)報表頁腳:只在報表的結(jié)束位置輸出顯示一次。此節(jié)可用來包含希望只在報表的末尾出現(xiàn)一次的信息(如總計)。5)頁腳 :輸出顯示在每頁的底部。此節(jié)通常包含頁碼等出現(xiàn)在每頁底部的信息。6)其他報表節(jié) 如果將組、匯總或小計添加到報表,則水晶報表設(shè)計器中會增加另外兩個節(jié):組頁眉和組頁腳。“組頁眉”節(jié)出現(xiàn)在“詳細(xì)資料”部分的正上方,而“組頁腳”節(jié)出現(xiàn)在“詳細(xì)資料”部分的正下方,

14、如圖15-21所示。跟原始報表節(jié)一樣,每個新添加的節(jié)也可以包含一個或多個子節(jié)。默認(rèn)情況下,它們都只包含一個節(jié)。組頁眉:輸出顯示在每個新組的開始位置。此節(jié)通常保存組名字段,也可以用來顯示包括組特定數(shù)據(jù)的圖表或交叉表。組頁腳:輸出顯示在每組的結(jié)束位置。此節(jié)通常保存匯總數(shù)據(jù),也可以用來顯示圖表或交叉表。“組頁腳”節(jié)在每組的結(jié)束位置輸出顯示一次。,報表設(shè)計環(huán)境,【例15-3】制作一個按班級報告的學(xué)生名冊報表。提示:1)報表的數(shù)據(jù)字段來自

15、T_Student和T_Class表2)增加報表節(jié)(組)以及匯總字段,【例15-4】采用水晶報表的PUSH模式制作一個班級統(tǒng)計報表。按專業(yè)分組顯示各專業(yè)下所有班級的具體信息,并統(tǒng)計班級總數(shù)。,步驟:1)建立一個新的項目文件或打開一個已經(jīng)存在的需要報表的項目。2)通過數(shù)據(jù)適配器配置向?qū)?chuàng)建數(shù)據(jù)集。3)采用“標(biāo)準(zhǔn)報表專家” 在項目中創(chuàng)建水晶報表。4)在Crystal Report Designer中對報表布局進(jìn)行調(diào)整 。5)向W

16、indows窗體添加CrystalReportViewer控件。并編寫程序代碼將數(shù)據(jù)集中的數(shù)據(jù)綁定到CrystalReportViewer上。6)運(yùn)行應(yīng)用程序,查看報表顯示結(jié)果 。,Private Sub Form1_Load(…) Handles MyBase.Load ' 填充數(shù)據(jù)集 SqlDataAdapter1.Fill(DataSet11, "T_Major")

17、 ' 水晶報表綁定 Dim oRpt As New CrystalReport1() oRpt.SetDataSource(DataSet11) ' 設(shè)定水晶報表的ReportSource CrystalReportViewer1.ReportSource = oRptEnd Sub,Crystal Reports數(shù)據(jù)圖表,可以在報表中包含多彩的、易讀的圖表,以增加報表的可用性。繪制圖表

18、不僅是一種表示數(shù)據(jù)的方法,也是一種分析工具。Crystal Reports提供大量圖表布局和類型,而且能夠深化以查看圖表匯總的詳細(xì)資料。 可以根據(jù)以下內(nèi)容繪制圖表:匯總和小計字段 詳細(xì)資料、公式和運(yùn)行總計字段。 交叉表匯總。 OLAP 數(shù)據(jù),數(shù)據(jù)圖表創(chuàng)建:在利用“標(biāo)準(zhǔn)報表專家”向?qū)?chuàng)建新報表時,利用“圖表”選項卡創(chuàng)建圖表;或者,在嵌入式 Crystal Report Designer 中右擊,執(zhí)行相應(yīng)快捷菜單中

19、的“插入/圖表”命令,打開“圖表專家”對話框,在報表中創(chuàng)建圖表。,【例15-5】采用水晶報表制作一個學(xué)生課程成績一覽表,其中包含一個對學(xué)生平均成績進(jìn)行比較的圖表。要求按學(xué)生姓名分組顯示每個學(xué)生所學(xué)的所有課程的名稱和成績,并統(tǒng)計每個學(xué)生各門功課的平均成績。,水晶報表的導(dǎo)出,Crystal Reports 允許用戶將報表以多種常用格式導(dǎo)出,如PDF文件格式、電子表格格式(.xls)、字處理器格式(.doc和.rtf)等??梢酝ㄟ^以下兩種方

20、式導(dǎo)出報表: 通過 CrystalReportViewer 控件上的“導(dǎo)出”按鈕。 通過 API編寫程序?qū)С觥?水晶報表的打印,1.確定打印區(qū)域特性(1)確定報表對象的打印順序 報表區(qū)域按照在Crystal Report Designer中出現(xiàn)的順序(從頂?shù)降祝┐蛴?。如果在區(qū)域內(nèi)有多個節(jié),則按其出現(xiàn)的順序打印。(2)確定報表對象的打印頻率報表對象輸出顯示的方式?jīng)Q定了用戶應(yīng)如何設(shè)計報表。這將有助于確定圖表、“交叉表”

21、及獲得明確結(jié)果的公式放置的位置。報表頁眉:在報表的開始處打印一次。 頁眉:在每頁的開始處打印一次。組頁眉:在每個組的開始處打印一次。詳細(xì)資料:在每條記錄處打印。組頁腳:在每個組的末尾處打印。報表頁腳:在報表末尾處打印一次。頁腳:在每頁的底部打印。,2. 三種方式打印報表: 通過 GUI:使用Web或Windows窗體上的CrystalReportViewer控件提供的工具欄上的“打印”按鈕。 通過 SDK:使用 Rep

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論