VB.NET水晶報(bào)表優(yōu)點(diǎn)及結(jié)果描述
VB.NET應(yīng)用范圍廣泛,而且使用其進(jìn)行編程會(huì)給開發(fā)人員帶來一種不一樣的感覺??梢詾槌绦騿T們打造一個(gè)安全穩(wěn)定的開發(fā)環(huán)境。水晶報(bào)表可以由很多的方法得到,其中一個(gè)就是使用VB.NET來創(chuàng)建,VB.NET水晶報(bào)表提供了非常豐富模型以使我們能夠在運(yùn)行時(shí)操作屬性和方法。如果你正在使用VB.NET開發(fā).Net程序,那么你就不需要再安裝其它軟件了,因?yàn)樗呀?jīng)內(nèi)嵌在VB.NET中了。 #t#
VB.NET水晶報(bào)表有下面一些主要的優(yōu)點(diǎn):
◆快速的報(bào)表開發(fā)
◆能夠?qū)С龀蔀閺?fù)雜的交互性圖表
◆可以與其它控件一起在WebForm中使用
◆能夠動(dòng)態(tài)地將報(bào)表導(dǎo)出成為.pdf,.doc,xls,html,rtf等多種格式
VB.NET水晶報(bào)表結(jié)構(gòu)
一些組件組成了水晶報(bào)表的二層結(jié)構(gòu),需要的Web應(yīng)用有:
客戶端:客戶端僅需要一個(gè)可以訪問嵌入aspx頁面報(bào)表的游覽器就可以了
服務(wù)器
水晶報(bào)表引擎(Crystal Report Engine (CREngine.dll))
通過它可以完成一些任務(wù),如在報(bào)告文件中合并數(shù)據(jù),轉(zhuǎn)換報(bào)告為其它格式等。也正是因?yàn)閳?bào)告引擎的作用,才可以將ASP.NET中的水晶報(bào)表轉(zhuǎn)換成為普通HTML格式。
水晶報(bào)表設(shè)計(jì)器(Crystal Report Designer (CRDesigner.dll))
水晶報(bào)表就是在設(shè)計(jì)器中創(chuàng)建的,在設(shè)計(jì)器中你可以設(shè)計(jì)標(biāo)題,插入數(shù)據(jù),公式,圖表,子報(bào)表等。
.rpt報(bào)表文件
執(zhí)行報(bào)表中的***步就是在VB.NET水晶報(bào)表設(shè)計(jì)器接口創(chuàng)建此報(bào)表,在默認(rèn)安裝中微軟已經(jīng)提供了一些現(xiàn)成的.rpt例子。
Data Source
.rpt文件取得數(shù)據(jù)庫的方法取決于你方法的選擇,你能選擇讓水晶報(bào)表自己選擇數(shù)據(jù)而不使用任何代碼或者也可以選擇手動(dòng)的組裝DataSet,然后再將其傳送到報(bào)表文件。
水晶報(bào)表查看控件(Crystal Report Viewer web form Control (CRWebFormViewer.dll))
水晶報(bào)表查看控件是一個(gè)WebForm控件,可以將它看成是一個(gè)在.aspx頁面中存放報(bào)表的容器。 注意:在一些復(fù)雜的操作中,報(bào)表服務(wù)器與Web服務(wù)器可能不在同一物理主機(jī)上,Web服務(wù)器將HTTP請(qǐng)求傳送到報(bào)表服務(wù)器上去。水晶報(bào)表也可以當(dāng)做WebService來執(zhí)行。
執(zhí)行模式
VB.NET水晶報(bào)表取數(shù)據(jù)可以使用下面的方法實(shí)現(xiàn)。
Pull 模式
被請(qǐng)求時(shí),水晶報(bào)表直接根據(jù)指定的驅(qū)動(dòng)連接數(shù)據(jù)庫然后組裝這些數(shù)據(jù)。
Push 模式
此時(shí)開發(fā)表不得不自己編寫代碼連接數(shù)據(jù)并組裝DataSet,同時(shí)將它傳送至報(bào)表。在些這種情況下,通過使用連接共享以及限制記錄集合的大小,可以使用報(bào)表性能***化。
報(bào)表類型
VB.NET水晶報(bào)表設(shè)計(jì)器能夠直接包含報(bào)表至工程也能夠使用獨(dú)立的報(bào)表對(duì)象。
Strongly-typed 報(bào)表:當(dāng)你將報(bào)表文件加入到項(xiàng)目中去時(shí),它就變成了一個(gè)了“strongly-typed”報(bào)表。在這些情況下,你將擁有直接創(chuàng)建報(bào)表的對(duì)象的權(quán)力,這將減少一些代碼并且能夠提供一些性能。
Un-Typed 報(bào)表:這里的報(bào)表并不直接包含在項(xiàng)目中,因此稱為‘un-typed’ 報(bào)表。在這種情況下,你不得不使用水晶報(bào)表的“ReportDocuemt”對(duì)象建立一個(gè)實(shí)例,并且“手動(dòng)”地凋用報(bào)表。
其它注意事項(xiàng)
盡管VB.NET水晶報(bào)表查看器擁有一些很酷的功能,如縮放、頁面導(dǎo)航等。但是他不提供打印功能,你不得不調(diào)用游覽器的打印功能。