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