前一段時間,由于在項目中要用到報表做統(tǒng)計,所以我學(xué)習(xí)了一下ASP.NET水晶報表的使用。水晶報表的執(zhí)行模式(也就是取數(shù)據(jù)的方法)可以分為兩種:
第一種是Pull模式:被請求時,水晶報表直接根據(jù)指定的驅(qū)動連接數(shù)據(jù)庫然后組裝這些數(shù)據(jù)。
另外一種就是Push模式:此時開發(fā)者不得不自己編寫代碼連接數(shù)據(jù)并組裝DataSet,同時將它傳送至報表。在些這種情況下,通過使用連接共享以及限制記錄集合的大小,可以使用報表性能最大化。
水晶報表中的報表類型也分為兩種:
--StrongTyped 報表: 當(dāng)你將報表文件加入到項目中去時,它就變成了一個了“ strongly-typed“報表。在這些情況下,你將擁有直接創(chuàng)建報表的對象的權(quán)力,這將減少一些代碼并且能夠提供一些性能。
--UnTyped報表:這里的報表并不直接包含在項目中,因此稱為‘un-typed' 報表。在這種情況下,你不得不使用水晶報表的”ReportDocuemt“對象建立一個實例,并且”手動“地凋用報表。
使用Pull模式 我們將通過下面的這些步驟來通過Pull模式來執(zhí)行水晶報表
1.首先創(chuàng)建rpt文件,并使用水晶報表設(shè)計接口設(shè)置一些必須的數(shù)據(jù)連接。
2.拖放一個 CrystalReportViewer控件至aspx頁面,設(shè)置它的屬性指定我們上一步創(chuàng)建的.rpt文件。
3. 在代碼中調(diào)用DataBind方法。
CrystalReportViewer1.DataBind();
使用PUSH模式
我們采用下面的幾步使用Push模式執(zhí)行水晶報表:
1. 設(shè)計一個DataSet
2. 創(chuàng)建一個.rpt文件同時將其指定給上一步建立的DataSet。
3. 在aspx頁面中拖放一個CrystalReportViewer控件同時將其與前面的rpt文件建立聯(lián)系。
4. 在代碼中訪問數(shù)據(jù)庫并把數(shù)據(jù)存入DataSet
5. 調(diào)用DataBind方法。
建立.rpt文件時DataSet的作用是為rpt文件提供一種架構(gòu)。
這里 用dataadapter填充數(shù)據(jù)集的一個實例,作為報表的數(shù)據(jù)源。
Crv.DataBind();
新聞熱點
疑難解答
圖片精選