存儲和加載報告
FastReport .Net是一款全功能的Windows Forms、ASP.NET和MVC報表分析解決方案,使用FastReport .NET可以創(chuàng)建獨(dú)立于應(yīng)用程序的.NET報表,同時FastReport .Net支持中文、英語等14種語言,可以讓你的產(chǎn)品保證真正的國際性。
您可以通過以下方式存儲報告:
在網(wǎng)絡(luò)表單中:
我們之前看過的典型方案就使用了這種方法。報告存儲在 WebReport 組件的 ReportResourceString 屬性中。這種方法有以下優(yōu)點(diǎn)和缺點(diǎn):
+ 這是使用 FastReport.Net 的最簡單方法;
- 報告模板存儲在 Web 表單的 ViewState 中。它將在客戶端傳輸。如果報告較大,可能會減慢工作速度;
- 此方法與 "中等信任 "模式不兼容。
報告將自動加載。
在 .FRX 文件中:
此方法假定報告存儲在 "App_Data "特殊文件夾下的文件中。為此
- 運(yùn)行報告設(shè)計器;
- 創(chuàng)建報表并將其保存到 .FRX 文件中;
- 在解決方案資源管理器中選擇 "App_Data "文件夾,右鍵單擊該文件夾并選擇 "添加/現(xiàn)有項... "項。選擇剛剛保存的報告文件;
- 選擇 WebReport 組件并清除其 ReportResourceString 屬性;
- 選擇 "ReportFile "屬性,調(diào)用其編輯器并從 "App_Data "文件夾中選擇報告。
這種方法有以下優(yōu)點(diǎn)和缺點(diǎn):
+ 報告不會傳輸?shù)娇蛻舳藱C(jī)器;
- 此方法與 "中等信任 "模式不兼容。
自動加載報告。
也可以通過 WebReport.StartReport 事件處理程序加載報告。StartReport 中的示例代碼
(sender as WebReport).Report.Load(this.Server.MapPath("~/App_Data/report.frx"));
點(diǎn)擊復(fù)制
在此方法中,您可以將報告作為一個類來處理。為此
- 設(shè)計報告并保存為 .cs/.vb 文件。為此,請在 "保存 "對話框中選擇 "文件類型"。文件類型可能是 .cs 或 .vb - 這取決于報告中的腳本語言(可在 "報告/選項... "菜單中更改);
- 將該文件包含到項目中。最好將其保存在 "App_Code "文件夾中;
- 清除 WebReport 組件的 ReportResourceString 和 ReportFile 屬性。
此方法有以下優(yōu)缺點(diǎn):
+ 可以像普通類一樣使用報告;
+ 可以在 Visual Studio 中調(diào)試報告;
+ 這是使用 "中等信任 "模式報告的唯一方法;
- 不能編輯此類報告。為此,您需要原始的 .FRX 文件。
要使用報告,請創(chuàng)建 WebReport.StartReport 事件處理程序。在該處理程序中,應(yīng)執(zhí)行以下操作:
- 創(chuàng)建報告類的實例;
- 注冊數(shù)據(jù);
- 將報告設(shè)置為 WebReport 組件的報告屬性。
StartReport 事件處理程序示例:
SimpleListReport report = new SimpleListReport(); report.RegisterDataAsp(your_data, "your_data_name"); WebReport1.Report = report;
點(diǎn)擊復(fù)制
(sender as WebReport).Report.LoadPrepared(this.Server.MapPath("~/App_Data/Prepared.fpx")); (sender as WebReport).ReportDone = true;
點(diǎn)擊復(fù)制