快速對(duì)于VS2003水晶報(bào)表進(jìn)行處理與學(xué)習(xí)
VS2003水晶報(bào)表具有強(qiáng)大內(nèi)容創(chuàng)建和集成功能的高效的報(bào)表,是第三方開發(fā)的報(bào)表工具,使用水晶報(bào)表我們可以更好地向用戶展示數(shù)據(jù)以及處理數(shù)據(jù)。VS2003水晶報(bào)表以前可以通過編程的方式將數(shù)據(jù)集中的數(shù)據(jù)進(jìn)行處理后在windows應(yīng)用程序或web應(yīng)用程序中輸出顯示。
在windows應(yīng)用程序和web應(yīng)用程序中我們都可以使用水晶報(bào)表,不過在windows應(yīng)用程序中的水晶報(bào)表要比web應(yīng)用程序中的功能強(qiáng)大,可以很容易地實(shí)現(xiàn)打印和導(dǎo)出功能。在這兒只討論一下在asp.net中水晶報(bào)表的一些簡(jiǎn)單使用。
在asp.net中使用水晶報(bào)表專家,可以很快速地創(chuàng)建報(bào)表,雖然水晶報(bào)表是第三方開發(fā)的,但在vs2003中水晶報(bào)表已經(jīng)成為了開發(fā)環(huán)境的一個(gè)組成部分。先做一個(gè)很簡(jiǎn)單的小例子。新建一個(gè)web應(yīng)用程序,在頁面上添加工具箱中web窗體下的Button控件,CrystalReportViewer控件(這個(gè)就是水晶報(bào)表控件)和html下的File Field控件。File Field控件可以讓我們從本地選擇一個(gè)文件,要想實(shí)現(xiàn)水晶報(bào)表的顯示我們首先需要一個(gè)水晶報(bào)表文件,該文件的后綴為rpt,這個(gè)文件可以通過添加新項(xiàng)添加?,F(xiàn)在假設(shè)已經(jīng)有一個(gè)水晶報(bào)表文件,通過以下幾步就可以在頁面上顯示。
雙擊頁面進(jìn)入代碼環(huán)境在page_load事件中添加如下代碼:
- if(Session["filename"]!=null)
- {
- CrystalReportViewer1.ReportSource = Session["filename"].ToString();
- }
- string strName = File1.PostedFile.FileName;
- if(strName.Trim()!="")
- {
- CrystalReportViewer1.ReportSource = strName;
- Session["filename"] = strName;
- }
然后按F5運(yùn)行,選擇一個(gè)已經(jīng)做好的rpt文件,點(diǎn)擊按鈕就可以看見頁面上顯示的報(bào)表結(jié)果了。
#t#在整個(gè)過程中重要的還是水晶報(bào)表文件的建立,水晶報(bào)表的創(chuàng)建有pull和push兩種模式,pull模式是直接指定數(shù)據(jù)庫(kù)驅(qū)動(dòng)然后組裝這些數(shù)據(jù),push模式需要自己寫代碼來連接數(shù)據(jù)庫(kù),并將它們傳至報(bào)表,push模式比pull要更靈活。
由于篇幅原因先說一下pull模式:
在右邊的“字段資源管理器”中右鍵點(diǎn)擊“數(shù)據(jù)庫(kù)字段”選擇“添加刪除數(shù)據(jù)庫(kù)”,會(huì)彈出數(shù)據(jù)庫(kù)專家的對(duì)話框,選擇可用數(shù)據(jù)源中的OLEDB(ADO)根據(jù)向?qū)?chuàng)建數(shù)據(jù)庫(kù)的連接。
建立好數(shù)據(jù)庫(kù)連接后可以將數(shù)據(jù)庫(kù)中的表加到報(bào)表中,然后就可以將我們要顯示的字段總結(jié)拖到rpt文件中的詳細(xì)資料中,并且在頁眉會(huì)自動(dòng)添加字段名,這個(gè)名字是可以根據(jù)自己的喜好更改的。
這樣一個(gè)很簡(jiǎn)單的VS2003水晶報(bào)表就做好的,當(dāng)然報(bào)表的功能遠(yuǎn)遠(yuǎn)不止這些,下面就該寫代碼了。