翻譯|使用教程|編輯:李顯亮|2020-07-30 10:37:23.240|閱讀 2375 次
概述:FastReport Open Source的結(jié)構(gòu)包括兩個(gè)庫(kù):FastReport.OnlineDesigner 和FastReport.OnlineDesigner.Web。本文將講解如何在WinForms和WPF中使用FastReport Open Source。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
報(bào)表生成器FastReport .NET是適用于.NET Core 3,ASP.NET,MVC和Windows窗體的全功能報(bào)告庫(kù)。使用FastReport .NET,您可以創(chuàng)建獨(dú)立于應(yīng)用程序的.NET報(bào)告。
開源在我們這個(gè)時(shí)代非常流行。軟件市場(chǎng)的全球巨頭對(duì)其普及起到了相當(dāng)大的作用。畢竟,這些公司正在開發(fā)高端商業(yè)軟件,而它們的開源項(xiàng)目是基于經(jīng)過(guò)驗(yàn)證的解決方案和最佳實(shí)踐的。
FastReport Open Source的結(jié)構(gòu)包括兩個(gè)庫(kù):FastReport.OnlineDesigner 和FastReport.OnlineDesigner.Web
第一個(gè)包含從FastReport.Net繼承的報(bào)告生成器的主要功能。第二個(gè)是將報(bào)告生成器適應(yīng).Net Core框架。特別是,WebReport對(duì)象允許在網(wǎng)頁(yè)上顯示帶有導(dǎo)航元素的表單,該表單可以逐頁(yè)顯示報(bào)告。
本文將講解如何在WinForms和WPF中使用FastReport Open Source。
WPF中的表單是使用XAML實(shí)現(xiàn)的。 因此,我們只有一個(gè)選項(xiàng)可用于顯示報(bào)告-作為圖像。 與前面的示例一樣,我們只是將報(bào)告導(dǎo)出為圖片。
所需要做的就是連接FastReport庫(kù)。 OpenSource并將一個(gè)Image對(duì)象添加到窗體。 要瀏覽報(bào)告頁(yè)面,可以一次添加工具欄和幾個(gè)按鈕,例如:前進(jìn),后退,第一,最后。
如果查看XAML格式的主要表單代碼,那么將看到我們添加到可視表單中的組件:
此示例是出于提供信息的目的,因此,未顯示大多數(shù)對(duì)象屬性以簡(jiǎn)化代碼的理解。
如您所見,按鈕具有單擊事件處理程序。 讓我們看一下名為Open的按鈕的處理程序:
此代碼可以打開FPX格式的報(bào)告文件,將其加載到報(bào)告對(duì)象中,將其導(dǎo)出為PNG格式,并將結(jié)果文件保存到列表中,以便以后瀏覽頁(yè)面。 請(qǐng)記住,默認(rèn)情況下HasMultipleFiles為true。
為什么要保存圖像緩存? 事實(shí)是,在WPF中,文件在打開后不會(huì)“釋放”,這意味著當(dāng)我們要打開另一個(gè)報(bào)表時(shí),我們將無(wú)法刪除在導(dǎo)出過(guò)程中創(chuàng)建的文件。 緩存圖像有助于解決此問(wèn)題。
現(xiàn)在,我們?yōu)槠渌粹o實(shí)現(xiàn)了處理程序-導(dǎo)航按鈕:
盡管FastReport Open Source已針對(duì)Web“增強(qiáng)”,但您仍可以在常規(guī)WinForms應(yīng)用程序中使用它。 但是,必須使用將報(bào)告導(dǎo)出到圖像的方式以圖形格式顯示報(bào)告。
讓我們考慮一下這樣做的方法。 首先,您需要將庫(kù)添加到項(xiàng)目中。 為此,我們使用NuGet軟件包管理器。 如果軟件包是在本地構(gòu)建的,則我們指定本地軟件包存儲(chǔ)庫(kù); 否則,請(qǐng)選擇nuget.org存儲(chǔ)庫(kù)。 安裝FastReport.OpenSource程序包。
在應(yīng)用程序的代碼中,需要添加庫(kù)名稱空間:
using FastReport; using FastReport.Export.Image;
添加用于以圖像格式加載和導(dǎo)出報(bào)告的方法:
僅需要澄清導(dǎo)出多頁(yè)報(bào)告的時(shí)刻。導(dǎo)出具有HasMultipleFiles屬性,該屬性負(fù)責(zé)將報(bào)表頁(yè)面導(dǎo)出到其他文件。這就是為什么GeneratedFiles是文件數(shù)組的原因。在示例中,顯示了第一個(gè)生成的文件。 實(shí)際上,生成了3個(gè)文件??梢栽趫?bào)表的頁(yè)面中實(shí)現(xiàn)導(dǎo)航元素。同時(shí),讓我們看一下按鈕單擊處理程序的輸出:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn