報(bào)表生成器FastReport .Net程序員手冊(cè):如何存儲(chǔ)和加載報(bào)告
FastReport .Net是適用于Windows Forms,ASP.NET,MVC和.NET Core的全功能解決方案。它可以在Microsoft Visual Studio 2005-2019中使用。支持.Net Framework 2.0-4.x,.NET Core 3.0及以上版本。
在FastReport .NET 2021.1的新版本中,我們實(shí)現(xiàn)了對(duì).NET 5的支持。添加了新條形碼-Deutsce Post Leitcode。將RTF轉(zhuǎn)換為報(bào)告對(duì)象的算法已得到顯著改進(jìn)。并且還添加了用于轉(zhuǎn)換數(shù)字的新功能。歡迎下載體驗(yàn)。(點(diǎn)擊下方按鈕下載)
立即點(diǎn)擊下載FastReport.NET v2021.1最新版
Fastreport.NET在線購買價(jià)更低,專享85折起!趕緊加入購物清單吧!
存儲(chǔ)和加載報(bào)告
您可以用以下方式存儲(chǔ)報(bào)告:
方法描述:
以網(wǎng)頁形式
我們之前看過的典型場景,使用了這個(gè)方法。報(bào)告存儲(chǔ)在WebReport組件的ReportResourceString屬性中。這個(gè)方法有以下優(yōu)點(diǎn)和缺點(diǎn)。
+ 這是一種最簡單的FastReport.Net工作方式。
- 報(bào)表模板存儲(chǔ)在Web表單的ViewState中。它將在客戶端傳輸。如果報(bào)表的大小很大,可能會(huì)減慢工作速度。
- 此方法與 ""Medium Trust "模式不兼容。
報(bào)表加載是自動(dòng)進(jìn)行的。
在.FRX文件中
此方法假設(shè)報(bào)表存儲(chǔ)在一個(gè)特殊文件夾 "App_Data "中的文件中。要做到這一點(diǎn)。
- 運(yùn)行報(bào)表設(shè)計(jì)器:
- 創(chuàng)建一個(gè)報(bào)表并將其保存到.FRX文件中。
- 在 "解決方案資源管理器 "中,選擇 "App_Data "文件夾,右鍵點(diǎn)擊,選擇 "添加|現(xiàn)有項(xiàng)目... "項(xiàng)。選擇剛才保存的報(bào)表文件。
- 選擇WebReport組件,清除其ReportResourceString屬性。
- 選擇 "ReportFile "屬性,調(diào)用其編輯器,從 "App_Data "文件夾中選擇報(bào)表。
+ 報(bào)表不會(huì)被傳送到客戶端機(jī)器上。
- 此方法與 "中等信任 "模式不兼容。
報(bào)表加載是自動(dòng)進(jìn)行的。
也可以通過WebReport.StartReport事件處理程序加載報(bào)表。
StartReport事件處理程序中的代碼示例
(sender as WebReport).Report.Load(this.Server.MapPath("~/App_Data/report.frx"))。作為一個(gè)C#/VB.NET類
在這個(gè)方法中,你把報(bào)表作為一個(gè)類來處理。要做到這一點(diǎn):
- 設(shè)計(jì)你的報(bào)表并保存在.cs/.vb文件中。要做到這一點(diǎn),在 "保存 "對(duì)話框中選擇 "文件類型"。文件類型可能是.cs或.vb--這取決于報(bào)表中的腳本語言(可以在 "Report|Options... "菜單中更改)。
- 將該文件包含在你的項(xiàng)目中。最好把它保存在 "App_Code "文件夾中。
- 清除WebReport組件的ReportResourceString和ReportFile屬性。
+ 你可以把報(bào)表作為一個(gè)普通的類來使用;
+ 你可以在Visual Studio中調(diào)試報(bào)表;
+ 這是在 "Medium Trust "模式下使用報(bào)表的唯一方法。
- 你不能編輯這樣的報(bào)表。要做到這一點(diǎn),你需要原始的.FRX文件。
要使用報(bào)表,請(qǐng)創(chuàng)建WebReport.StartReport事件處理程序。在這個(gè)處理程序中,你應(yīng)該做以下事情:
- 創(chuàng)建一個(gè)報(bào)表類的實(shí)例。
- 注冊(cè)數(shù)據(jù)。
- 將報(bào)表設(shè)置為WebReport組件的Report屬性。
SimpleListReport report = new SimpleListReport(); report.RegisterDataAsp(your_data, "your_data_name"); WebReport1.Report = report;
(sender as WebReport).ReportDone = true;
注冊(cè)數(shù)據(jù)
如果使用 WebReport 組件的 "智能標(biāo)簽 "菜單選擇數(shù)據(jù)源,則不需要手動(dòng)注冊(cè)數(shù)據(jù)。在這種情況下,F(xiàn)astReport.Net將數(shù)據(jù)源的名稱存儲(chǔ)在WebReport組件的ReportDataSources屬性中。
如果您不想使用這種方法注冊(cè)數(shù)據(jù),您需要手動(dòng)注冊(cè)。可以通過使用WebReport組件的StartReport事件來完成。在這個(gè)事件處理程序中,你可以調(diào)用報(bào)表的RegisterData和RegisterDataAsp方法。可以通過WebReport.Report屬性來訪問報(bào)表。
webReport1.Report.RegisterData(myDataSet).
在本節(jié)中閱讀更多關(guān)于注冊(cè)數(shù)據(jù)的內(nèi)容。
向報(bào)表參數(shù)傳遞一個(gè)值
要向報(bào)表參數(shù)傳遞一個(gè)值,請(qǐng)使用Report對(duì)象的SetParameterValue方法。該方法在 "使用Windows.Forms工作 "一章中有詳細(xì)介紹。
要在 ASP.NET 中使用該方法,需要為 WebReport 組件的 StartReport 事件創(chuàng)建事件處理程序。可以通過WebReport訪問報(bào)表。
Report屬性:
webReport1.Report.SetParameterValue("MyParam", 10);
還想要更多嗎?您可以點(diǎn)擊閱讀【FastReport 報(bào)表2020最新資源盤點(diǎn)】,查找需要的教程資源。讓人興奮的是FastReport .NET正在慧都網(wǎng)火熱銷售中!低至3701元起!>>查看價(jià)格詳情