Chapter9_數(shù)據(jù)報表和數(shù)據(jù)圖表_第1頁
Chapter9_數(shù)據(jù)報表和數(shù)據(jù)圖表_第2頁
Chapter9_數(shù)據(jù)報表和數(shù)據(jù)圖表_第3頁
Chapter9_數(shù)據(jù)報表和數(shù)據(jù)圖表_第4頁
Chapter9_數(shù)據(jù)報表和數(shù)據(jù)圖表_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第9章 數(shù)據(jù)報表與數(shù)據(jù)圖表,數(shù)據(jù)報表和數(shù)據(jù)圖表是信息系統(tǒng)不可或缺的部分。,數(shù)據(jù)報表和數(shù)據(jù)圖表是將信息匯總輸出或打印的一種表現(xiàn)形式,不僅可以集中、分類顯示數(shù)據(jù),還可以幫助用戶進一步分析信息。,Visual Studio 2005集成了標準報表創(chuàng)建工具水晶報表(Crystal Reports),在ASP.NET環(huán)境下可以快速地實現(xiàn)數(shù)據(jù)報表和數(shù)據(jù)圖表。,9.1數(shù)據(jù)報表和數(shù)據(jù)圖表概述,1認識數(shù)據(jù)報表和數(shù)據(jù)圖表,右圖是Crystal Reports自帶的示例數(shù)據(jù)報表World Sales Report.rpt的運行效果。 報表右側(cè)為產(chǎn)品在各國家銷售總額的數(shù)據(jù)表,左側(cè)是以餅圖展示的各國家銷售比例的數(shù)據(jù)圖表

2、,另外,圖中還包括了有圖表的頁眉、頁腳等。,2數(shù)據(jù)報表設(shè)計,在Web應用程序中實現(xiàn)報表之前,首先應當進行報表設(shè)計,即根據(jù)業(yè)務需要和用戶需求確定報表基本內(nèi)容,列出信息大綱和布局,主要包括:,(1)確定報表的總體目的和用途。 (2)確定報表布局:為報表擬訂標題、頁眉頁腳中所需要的識別信息(如打印日期、報表頁碼、制表人信息、描述報表目的的文字、數(shù)據(jù)包含的范圍)等。 (3)確定數(shù)據(jù)來源:確定報表中所用的數(shù)據(jù),包括數(shù)據(jù)庫的類型和來源、獲取數(shù)據(jù)庫表中的數(shù)據(jù)、對數(shù)據(jù)字段值進行運算等。 (4)明確數(shù)據(jù)處理方法:包括數(shù)據(jù)的分組、排序、篩選、匯總、標記等。 (5)確定打印區(qū)域特性:包括確定打印順序、打印頻率等。

3、(6)設(shè)計報表的紙張原型:即在紙上規(guī)劃出報表內(nèi)容和布局。,3數(shù)據(jù)圖表設(shè)計,在數(shù)據(jù)報表中,除了數(shù)據(jù)列表和匯總,還可以包含彩色的、易讀的圖表,以增加報表的可讀性和分析能力。 可根據(jù)數(shù)據(jù)特點選擇合適的圖表類型,報表中常用的圖表有條形圖、餅圖、散點圖、面積圖、雷達圖等等。 圖表不僅是一種表示數(shù)據(jù)的方法,也是一種分析工具,能夠深化對數(shù)據(jù)的理解。 當向報表中添加圖表時,通常根據(jù)組級的匯總和小計信息繪制圖表。根據(jù)所用數(shù)據(jù)特點,也可以為報表創(chuàng)建高級圖表、交叉表圖或OLAP網(wǎng)格圖表。,9.2 .NET水晶報表(Crystal Reports),1.水晶報表核心組件,嵌入式 Crystal Reports Des

4、igner:創(chuàng)建或修改報表。由一個圖形用戶界面(用于 “所見即所得”的報表設(shè)計)和一系列“報表專家”(用于簡化數(shù)據(jù)連接、排序、分組和其它報表設(shè)計問題)組成。 報表查看器控件CrystalReportViewer :將報表添加到應用程序中窗體上,用于顯示報表。 對象模型 :.NET水晶報表提供了包含兩個基本對象模型 (CrystalReportViewer和ReportDocument)的SDK。使用對象模型可以采用代碼方式開發(fā)專業(yè)的數(shù)據(jù)報表。,9.2.1.NET水晶報表簡介,2. .NET水晶報表的數(shù)據(jù)訪問方式,推模式(PUSH) 首先創(chuàng)建與報表中的字段相匹配的數(shù)據(jù)集DataSet,然后將該數(shù)

5、據(jù)集“推”送至報表。該方法可以在應用程序中共享數(shù)據(jù)庫連接和數(shù)據(jù)集,并且在推送之前篩選出所需數(shù)據(jù),從而提高報表性能。,拉模式數(shù)據(jù)訪問,推模式數(shù)據(jù)訪問,拉模式(PULL) 水晶報表根據(jù)指定的驅(qū)動連接數(shù)據(jù)庫并直接將需要的數(shù)據(jù)“拉”進報表。使用該模式時,與數(shù)據(jù)庫的連接和為了獲取數(shù)據(jù)而執(zhí)行的SQL命令均由Crystal Reports自行處理,不需編寫代碼。,9.2.2以拉模式實現(xiàn)水晶報表,以拉模式實現(xiàn)水晶報表主要包括以下步驟: 根據(jù)用戶需求確定報表基本內(nèi)容,設(shè)計紙張原型。 在.NET項目中創(chuàng)建Crystal報表文件,用向?qū)渲脭?shù)據(jù)源。 利用Crystal Reports Designer修改報表布局。

6、 向Web窗體添加CrystalReportViewer控件,并將創(chuàng)建的Crystal報表綁定到CrystalReportViewer控件。,【例9.1】采用拉模式實現(xiàn)一個學生名冊報表。,報表的顯示內(nèi)容和布局如圖,報表中包括學生姓名、性別、生日和聯(lián)系電話數(shù)據(jù)項;報表頂端顯示“東華大學”和“學生名冊”;在頁面左上方顯示打印日期;在頁腳處顯示“第N頁 共M頁”。,(1)創(chuàng)建Crystal報表文件 使用Crystal Reports建立報表文件(*.rpt)的步驟:, 新建Crystal報表文件。在解決方案資源管理器中,右擊網(wǎng)站項目名稱,選擇“添加新項”命令,在“添加新項”對話框中,“模板”選擇“C

7、rystal報表”、“名稱”后輸入報表文件名,默認文件名為CrystalReport.rpt,單擊“添加”按鈕。, 選擇報表創(chuàng)建選項。, 選擇數(shù)據(jù)源。, 指定數(shù)據(jù)源連接的信息。, 選擇用于建立報表的數(shù)據(jù)表。, 選擇要在報表中顯示的數(shù)據(jù)字段。, 在分組(將報表中的信息分組)和記錄選定(選擇要顯示的信息子集)對話框中,根據(jù)需求做相應的選擇。, 在報表樣式對話框中,為報表選擇格式化樣式。,提示:第一次創(chuàng)建Crystal報表文件時,會出現(xiàn)“Crystal Reports最終用戶許可證”對話框,要求用戶接受許可協(xié)議,選擇接受許可即可。,(2)利用Crystal Reports Designer修改報表布

8、局。, 在“報表頁眉”處右擊,選擇“報表/節(jié)專家”菜單進入“節(jié)專家”對話框,不選中“抑制顯示(無向下鉆?。?;選“插入/文本對象” 菜單,填寫文本“東華大學”,在屬性窗口設(shè)置字體為“宋體“、”四號”、“粗體”。 在“頁眉”處右擊,選擇“插入/文本對象”菜單,填寫文本“學生名冊”,在屬性窗口設(shè)置字體為“宋體四號”。 在“頁眉”節(jié)將標題分別修改為:學生姓名、性別、生日、聯(lián)系電話。 將詳細資料節(jié)下邊框向下稍拖,以便拉開行間距離,選“插入/線”在下面劃一條線作為頁眉分割線,右擊Birthday選“設(shè)置對象格式”,在 “日期和時間”中選“1999年03月01日”。 在“報表頁腳”節(jié)刪除“頁碼”項,右擊選

9、“插入/特殊字段/第N頁,共M頁”,居中。 單擊“主報表預覽”標簽,查看報表顯示結(jié)果。, 新建一個ASP.NET Web窗體頁面:StuReport.aspx。 從工具箱的“Crystal Reports”組中拖動CrystalReportViewer控件至StuReport.aspx的設(shè)計頁面中。 在CrystalReportViewer的任務菜單中選擇“選擇報表源”下拉列表框中的“新建報表源”命令,出現(xiàn)“創(chuàng)建報表源”對話框,在“為CrystalReportSource控件指定Crystal報表”下拉列表框選擇剛創(chuàng)建的“CrystalReport.rpt”文件。,(4)運行應用程序,查看報表

10、顯示結(jié)果 。,提示:注意首先在解決方案資源管理器中選中StuReport.aspx為當前頁,再運行;因為瀏覽報表的CrystalReportViewer在StuReport.aspx頁上,而報表文件不能作為頁面。,(3)添加CrystalReportViewer控件并綁定數(shù)據(jù)報表文件。,9.2.3水晶報表設(shè)計環(huán)境,1關(guān)于報表創(chuàng)建選項,1)使用報表專家 作為創(chuàng)建報表的向?qū)?,一步一步引導快速?chuàng)建報表。Crystal Reports提供標準、套用信函、窗體、交叉表、子報表、郵件標簽、深化等各類報表專家供選用。,2)作為空白報表 從頭開始創(chuàng)建報表。用于當需要具有完全的靈活性和控制能力,想要從頭開始創(chuàng)建

11、報表時,或當報表類型與向?qū)е性S多可用的報表類型都不同的情況。,3)來自于現(xiàn)有的報表 基于某個已經(jīng)存在的一個報表為模型而生成新報表。通過選擇“來自于現(xiàn)有的報表”選項來打開作為模型的一個報表,并使用“文件”菜單上的“另存為”命令將其保存為新文件。, 數(shù)據(jù):為報表選擇數(shù)據(jù)源和數(shù)據(jù)表??梢赃x擇的數(shù)據(jù)源包括:,2報表向?qū)?項目數(shù)據(jù):當前連接的數(shù)據(jù)源列表和添加到當前項目中的AOD.NET數(shù)據(jù)集。 OLE DB (ADO):使用OLE DB提供程序的列表。 ODBC (RDO):使用ODBC數(shù)據(jù)源的列表。 數(shù)據(jù)庫文件:本地駐留的數(shù)據(jù)庫的列表。 收藏夾:在“收藏夾”列表中維護的數(shù)據(jù)源的列表。 歷史記錄:近期使

12、用的數(shù)據(jù)源列表(一般顯示5個)。 更多數(shù)據(jù)源:可通過本機驅(qū)動程序訪問的其他數(shù)據(jù)源。,作為創(chuàng)建報表的向?qū)Э梢钥焖賱?chuàng)建報表。由若干選項卡組成,指導用戶一步步創(chuàng)建指定的報表。, “鏈接”:如果在“數(shù)據(jù)”中選擇了兩個或更多的表,將出現(xiàn)報表創(chuàng)建向?qū)А版溄印辈襟E,用于設(shè)置和顯示新報表中多個表之間的聯(lián)接關(guān)系。 “字段”:選擇要包含在報表中的字段。 “分組”:指定在報表上顯示數(shù)據(jù)時的分組依據(jù)字段,是向?qū)е械囊粋€可選步驟。 “匯總”:對已分組的數(shù)據(jù)選擇要進行小計(求和、平均值、最大值、最小值、計數(shù)等)、添加百分比以及總計等運算的字段。創(chuàng)建匯總字段是向?qū)е械囊粋€可選步驟。, “組排序”:對在“分組”步驟中創(chuàng)建的組

13、進行排序??蓪⑺薪M進行排序 ;也可選前五個組或后五個組進行排序,并可選擇排序所基于的匯總字段。本步驟可選,僅當在“分組”步驟中指定了一個組并在“匯總”選項卡中指定了一個匯總時,才會出現(xiàn)。 “圖表”:在報表中創(chuàng)建圖表是向?qū)е械囊粋€可選步驟??梢赃x擇插入到報表中的各種不同圖表類型、指定圖表的標題等。 “記錄選定”:使用記錄選定公式和參數(shù)篩選要包含在報表中的記錄,是向?qū)е械囊粋€可選步驟。 “報表樣式”:從預定義的格式化樣式中選擇要在報表中使用的樣式。,(1)報表頁眉 :只在報表開頭輸出顯示一次。此節(jié)用于顯示報表的標題等報表開始位置出現(xiàn)的信息。 (2)頁眉:輸出顯示在每個新頁的開始位置。此節(jié)通常用于

14、顯示包括章節(jié)名、文檔名稱和其它類似信息。還可以用于顯示報表上字段上方的字段標題。在報表中這些字段標題將作為標簽顯示在字段數(shù)據(jù)列的頂部。 (3)詳細資料 :隨每條新記錄輸出顯示。此節(jié)包含報表正文數(shù)據(jù)。 (4)頁腳 :輸出顯示在每頁的底部。此節(jié)通常包含頁碼等出現(xiàn)在每頁底部的信息。 (5)報表頁腳:只在報表的結(jié)束位置輸出顯示一次。此節(jié)可用來包含希望只在報表的末尾出現(xiàn)一次的信息(如總計)。,3水晶報表的布局,在Crystal Report Designer中,一般有五個報表節(jié) :,(6)其他報表節(jié) 如果將組、匯總或小計添加到報表,則水晶報表設(shè)計器中會增加另外兩個節(jié):組頁眉和組頁腳。“組頁眉”節(jié)出現(xiàn)在“

15、詳細資料”部分的正上方,而“組頁腳”節(jié)出現(xiàn)在“詳細資料”部分的正下方。跟原始報表節(jié)一樣,每個新添加的節(jié)也可以包含一個或多個子節(jié)。默認情況下,它們都只包含一個節(jié)。 組頁眉:輸出顯示在每個新組的開始位置。此節(jié)通常保存組名字段,也可以用來顯示包括組特定數(shù)據(jù)的圖表或交叉表。 組頁腳:輸出顯示在每組的結(jié)束位置。此節(jié)通常保存匯總數(shù)據(jù),也可以用來顯示圖表或交叉表?!敖M頁腳”節(jié)在每組的結(jié)束位置輸出顯示一次。,3水晶報表的布局,【例9.2】采用 “拉”模式實現(xiàn)一個有分組匯總的報表,課程成績匯總表,要求按課程分組顯示每個學生的成績,并統(tǒng)計各課程的平均成績。,(1)建立一個新的ASP.NET Web網(wǎng)站或打開一個已

16、存在的ASP.NET Web網(wǎng)站。 (2)在該網(wǎng)站中創(chuàng)建水晶報表,指定數(shù)據(jù)源連接信息為School數(shù)據(jù)庫。 (3)在報表向?qū)е性O(shè)計報表內(nèi)容。 選擇用于建立報表的數(shù)據(jù)表。 選擇要在報表中顯示的數(shù)據(jù)字段 指定報表中信息的分組依據(jù) 指定報表中的匯總信息 調(diào)整水晶報表的布局 新建一個ASP.NET Web窗體頁面GradeList.aspx,在頁面添加CrystalReportViewer控件,選擇上面創(chuàng)建的.rpt報表文件作為CrystalReportViewer控件的報表源。 運行應用程序,查看報表顯示結(jié)果。,在已存在的報表上添加字段:可從窗口左邊的“字段資源管理器”中直接拖動所需字段到報表上。

17、【報表】/【選擇專家】:選擇符合條件的記錄,顯示在報表上。 【報表】/【報表專家】:對報表進行重新設(shè)計,現(xiàn)有報表的定義將被替換。 【數(shù)據(jù)庫】/【添加/刪除數(shù)據(jù)庫】:瀏覽數(shù)據(jù)源以查找需要添加到報表中的表。 【數(shù)據(jù)庫】/【登錄/注銷服務器】:在“數(shù)據(jù)資源管理器”中進行新的連接或注銷已有的連接。,9.2.4以推模式實現(xiàn)水晶報表, 根據(jù)用戶需求確定報表基本內(nèi)容,設(shè)計紙張原型。 在.NET項目中通過數(shù)據(jù)表適配器向?qū)?chuàng)建數(shù)據(jù)集DataSet為報表提供數(shù)據(jù)源。 在.NET項目中創(chuàng)建Crystal報表文件,報表的數(shù)據(jù)源選擇“項目數(shù)據(jù)”中的“ADO.NET數(shù)據(jù)集”,使用步驟中創(chuàng)建的數(shù)據(jù)集為數(shù)據(jù)源。 利用Crys

18、tal Reports Designer修改報表布局:修改顯示樣式和格式。 向Web窗體添加CrystalReportViewer控件,并通過程序代碼實現(xiàn)將數(shù)據(jù)集數(shù)據(jù)推送給報表,以及設(shè)置所創(chuàng)建的報表為CrystalReportViewer控件的報表源。,在推模式實現(xiàn)水晶報表時,首先需要創(chuàng)建與報表中的字段相匹配的數(shù)據(jù)集DataSet,然后將該數(shù)據(jù)集“推”送至報表。主要步驟如下:,【例9.3】采用推模式實現(xiàn)例9.2的課程成績匯總表。, 在解決方案資源管理器中添加新項,選擇“數(shù)據(jù)集”模板,命名為DataSetGrade。系統(tǒng)提示“是否將DataSet放入APP_Code文件夾”,選擇“是”,則創(chuàng)建的

19、數(shù)據(jù)集放在APP_Code文件夾,可以被應用程序共享。隨后在編輯區(qū)會出現(xiàn)“DataSetGrade窗口”,并自動進入“TableAdapter配置向?qū)А?。, 建立一個新的ASP.NET Web網(wǎng)站或打開一個已存在的ASP.NET Web網(wǎng)站。, 通過數(shù)據(jù)表適配器(TableAdapter)配置向?qū)?chuàng)建數(shù)據(jù)集DataSetGrade。數(shù)據(jù)集創(chuàng)建的步驟與SqlDataSource相似。主要是生成數(shù)據(jù)集的查詢,該查詢涉及三個表Student、Course和Grade表,可以使用查詢生成器,或直接輸入SQL語句,配置完成的數(shù)據(jù)集。,SELECT Course.CourseCode,Course.Co

20、urseName,Student.StudentCode, Student.StudentName,Grade.Grade FROM Course INNER JOIN Grade ON Course.CourseCode = Grade.CourseCode INNER JOIN Student ON Grade.StudentCode = Student.StudentCode, 在該網(wǎng)站中新建報表CrystalReport。仍用“標準報表專家”向?qū)В恢皇窃谶x擇“可用的數(shù)據(jù)源”時,選“項目數(shù)據(jù)”中的“ADO.NET數(shù)據(jù)集”中本例新建的數(shù)據(jù)集對象DataSetGrade中的DataTable

21、1作為數(shù)據(jù)源,后續(xù)操作同例9.2完成報表設(shè)計。, 拖CrystalReportViewer控件至GradeListPush.aspx的頁面。 編寫如下的程序代碼將數(shù)據(jù)集中的數(shù)據(jù)推送到CrystalReport、并設(shè)置CrystalReport為CrystalReportViewer的報表源:,protected void Page_Load(object sender, EventArgs e) /創(chuàng)建自定義類型的數(shù)據(jù)集,創(chuàng)建TableAdapter,填充數(shù)據(jù) DataSetGrade ds = new DataSetGrade(); DataSetGradeTableAdapters.Dat

22、aTable1TableAdapter dta = new DataSetGradeTableAdapters.DataTable1TableAdapter(); dta.Fill(ds.DataTable1); /定義ReportDocument對象,加載報表 CrystalDecisions.CrystalReports.Engine.ReportDocument oCR = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); oCR.Load(Server.MapPath(/CrystalReport.rpt); oC

23、R.SetDataSource(ds); /設(shè)置為CrystalReportViewer1的報表源 CrystalReportViewer1.ReportSource = oCR; , 運行應用程序,查看報表顯示結(jié)果。,9.3在水晶報表中增加數(shù)據(jù)圖表,用“標準報表創(chuàng)建向?qū)А眲?chuàng)建新報表時,在“圖表”步驟可向報表添加圖表;或者在Crystal Report Designer中向數(shù)據(jù)報表添加圖表。,1在數(shù)據(jù)報表頂部增加圖表,【例9.4】在例9.2的課程成績匯總表頂部增加各門課程平均分對比表。, 在報表頁眉節(jié)右擊選擇“插入/圖表”命令,打開“圖表專家”對話框 。,在“類型”選項卡處選擇圖表類型,這里選

24、條形圖中的并排條形圖; 在“數(shù)據(jù)”選項卡處選擇顯示內(nèi)容,因為數(shù)據(jù)報表已有分類匯總,所以本圖表默認以匯總結(jié)果為圖表內(nèi)容; 在“文本”選項卡查看和修改各類標題及格式。這里將標題修改為“各門課程平均分對比表”、組標題為“課程號”、數(shù)據(jù)標題為“平均分”。, 運行程序,即可得到所顯示的包含了圖表的數(shù)據(jù)報表。, 圖表專家中選擇圖表類型、顯示數(shù)據(jù)、各圖表項格式等。,2使用“圖表專家”編輯圖表,右擊圖表選擇“圖表專家”命令,可打開“圖表專家”。默認情況下,“圖表專家”有“類型”、“數(shù)據(jù)”和“文本”3個選項卡。如果不勾選“類型”選項卡中的“自動設(shè)置圖表選項”復選框,“圖表專家”將增加“坐標軸”和“選項”2個選項

25、卡。,(1)“類型”選項卡 提供可插入到報表中的不同圖表類型,例如條形圖、線圖、面積圖、餅圖等等,每一類圖表又有多個子類。,(2)“數(shù)據(jù)”選項卡 包含三部分:位置、布局、數(shù)據(jù)。“位置”處說明圖表放在報表中的位置(頁眉/頁腳),以及圖表出現(xiàn)的頻率。 “布局” 根據(jù)制圖數(shù)據(jù)確定圖表的布局:高級、組、交叉表、OLAP。數(shù)據(jù)選擇顯示內(nèi)容。,(4)“選項”選項卡 提供顯示圖表的圖表顏色、數(shù)據(jù)點、透明背景、標記大小、標記形狀、查看角度、餅圖大小、條形圖大小、拆分餅圖、圖例等設(shè)置選項。,(3)“坐標軸”選項卡 用于設(shè)置每個圖表軸的屬性。該卡因所創(chuàng)建的圖表類型而異,可用來自定義圖表的某些屬性,如坐標軸的刻度、

26、圖例、數(shù)據(jù)點等。,(5)“文本”選項卡 用于指定圖表的標題、副標題、腳注、軸標題和系列標題,并可設(shè)置字體選項的文本格式。,(1)將新的模板應用到圖表。 (2)更改圖表的模板規(guī)范。 (3)更改圖表標題。 (4)更改圖表的數(shù)軸網(wǎng)格和刻度。 (5)設(shè)置所選圖表的格式。,4使用“格式化編輯器”編輯圖表,在Crystal Report Designer中右擊圖表,選擇 “設(shè)置對象格式”命令,可使用 “格式化編輯器” 對圖表設(shè)置格式、邊框、超級鏈接等。,3使用“圖表選項”編輯圖表,在Crystal Report Designer中右擊圖表,選擇“圖表選項”可看到“模板”、“常規(guī)”、“標題”、“網(wǎng)格”等命令

27、菜單,可對圖表進行如下編輯操作:,5在圖表上使用延伸功能,【例9.5】將例9.4中數(shù)據(jù)報表頭部“各門課程平均分對比表”顯示在數(shù)據(jù)表右側(cè) 。,一般創(chuàng)建的圖表在報表的頁眉或頁角。如果想放置在其他位置,可以使用延伸功能來控制位置。, 為了在數(shù)據(jù)報表右側(cè)空出一定位置顯示圖表,在Crystal Report Designer中對數(shù)據(jù)表進行重新布局,使其更緊湊。 在Crystal Report Designer中右擊任一報表節(jié),選擇“報表/節(jié)專家”命令,在出現(xiàn)“節(jié)專家”對話框中,在左側(cè)的“節(jié)”區(qū)域中,單擊目前圖表所在的位置“報表頁眉a”,然后選中“延伸到后續(xù)節(jié)”復選框,單擊“確定”按鈕。 回到Crysta

28、l Report Designer中,在“報表頁眉a”節(jié)中適當移動圖表,模仿紙張位置放到中部右側(cè)或調(diào)整其大小,即可實現(xiàn)圖表延伸功能。,9.4水晶報表的瀏覽、導出與打印,Crystal Reports允許以不同視圖查看、打印和導出報表,有兩種方法。一是用CrystalReportViewer控件提供的工具菜單;另一是使用.NET提供的ReportDocument對象編寫程序?qū)崿F(xiàn)。,1使用CrystalReportViewer查看、導出與打印報表,(1)瀏覽報表 可選“視圖比例”放大或縮小頁面顯示;利用“前后翻頁”對應的四個按鈕轉(zhuǎn)到不同的頁;如果是有分組匯總功能的頁面,可用“顯示/隱藏組樹”顯示或

29、隱藏左側(cè)的分組導航列表,點擊列表中的一項,即顯示該分組位置附近的數(shù)據(jù)。使用查找功能可在所有頁面內(nèi)查找指定的文本,顯示該位置附近的數(shù)據(jù)。,(2)導出報表 報表可以多種常用格式導出,如Crystal Reports(.rpt)、Adobe Acrobat(.pdf)、電子表格格式Microsoft Excel(.xls)、字處理器格式Microsoft Rich Text(.rtf)或Microsoft Word(.doc)等。,(3)打印報表 點擊“打印“按鈕后,出現(xiàn)“打印報表”對話框,選擇打印頁碼范圍,按“確定”后,啟動文檔類型相關(guān)的程序,即可使用的打印功能輸出報表,也可保存為文檔。,2使用R

30、eportDocument對象編寫報表導出程序,【例9.6】采用編程方式將例9.3推模式創(chuàng)建的報表導出為“D:Report.PDF”文件。,(1)在GradeListPush.aspx頁面上增加1個Button1,Text屬性設(shè)置為“導出報表”。,(2)程序代碼如下: 添加對命名空間的引用,以支持ReportDocument和ExportFormatType。 using CrystalDecisions.CrystalReports.Engine; using CrystalDecisions.Shared;, 頁面加載時顯示報表,為了使“導出報表”按鈕事件過程能共用頁面加載時加載的Repo

31、rtDocument對象oCR(已推送數(shù)據(jù)),這里將其定義為頁面內(nèi)公共變量。,public partial class _Default : System.Web.UI.Page /定義頁面內(nèi)可使用的公共變量ReportDocument對象oCR CrystalDecisions.CrystalReports.Engine.ReportDocument oCR = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); protected void Page_Load(object sender, EventArgs e) /創(chuàng)建自定義類型的數(shù)據(jù)集,創(chuàng)建TableAdapter,填充數(shù)據(jù) DataSetGrade ds = new DataSetGrade(); DataSetGradeTableAdapters.DataTable1TableAdapter dta = new DataSetGradeTableAdapters.DataTable1TableAdapter(); dta.Fill(ds.D

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論