翻譯|使用教程|編輯:楊鵬連|2021-06-03 09:25:48.280|閱讀 208 次
概述:報告生成器的源代碼提供了無限的定制機會。您可以根據需要重新配置當前功能或添加新功能。今天,我們將講如何在報表設計器的工具箱中添加自己的控件元素。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
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.3的新版本在演示應用程序中實現了HiDPI支持。添加了用于嵌入Blazor Server應用程序的Razor組件。XODT和XODS有新的出口。FastReport OpenSource版本現在可以導入DevExpress,List和Label以及SQL Server Reporting Services報表。(點擊下方按鈕下載)
立即點擊下載FastReport.NET v2021.3最新版
Fastreport.NET在線購買價優惠,專享85折起!趕緊加入購物清單吧!
FastReport .NET 報告生成器提供了廣泛的定制機會,即根據您自己的需要進行配置。從用戶應用程序代碼中,您可以使用 FastReport 庫創建自己的報告生成器組件。因此,您可以創建自己的報表設計器及其查看器。
此外,您可以更改報表設計器中的對話窗口,例如,文件保存窗口。
但是,報告生成器的源代碼提供了真正的定制機會。您可以根據需要重新配置當前功能或添加新功能。今天,我們將講如何在報表設計器的工具箱中添加自己的控件元素。
讓我們假設您經常在報告中使用具有特定設置的文本對象。使用特定字體或顏色突出顯示配置的對象“文本”會很方便,而不是每次都手動設置這些屬性。
您只需要創建自己的對象!為此,從現有對象繼承對象、擴展其功能或創建新功能就足夠了。
要為報表創建自己的組件,您需要報表生成器 FastReport .NET 的源代碼。讓我們考慮基于 Text 對象創建自己的對象的情況。為此,在 FastReport 項目的根目錄中添加一個新類:
public class CustomerTextObject : TextObject { public override void OnBeforeInsert(int flags) { base.OnBeforeInsert(flags); Border.Lines = BorderLines.All; } }在這個類中,我們在插入對象之前重新定義了事件,我們在其中設置了對象邊界的默認值。因此,我們的文本對象從一開始就包含了邊界。如果您需要設置對象的任何其他屬性 - 沒問題。讓我們設置顏色:
public override void OnBeforeInsert(int flags) { base.OnBeforeInsert(flags); Border.Lines = BorderLines.All; TextColor = System.Drawing.Color.Gray; }如果要創建具有自己功能的對象,請從基類 ReportComponentBase 繼承。但在這種情況下,除了對象屬性和行為之外,您還必須進行渲染——Draw() 方法。然后在其中調用 base.Draw() 并添加對象的繪圖。
讓我們考慮渲染 Text 對象的示例:
public override void Draw(FRPaintEventArgs e) { base.Draw(e); DrawText(e); DrawMarkers(e); Border.Draw(e, new RectangleF(AbsLeft, AbsTop, Width, Height)); DrawDesign(e); }如您所見,此處同時調用了幾種方法:用于渲染文本、標記、邊界和編輯器。
創建對象后,您應該注冊它,以便它出現在報表設計器的工具箱中。為此,請使用類 AssemblyInitializer.cs 中的 FastReport.Utils.RegisteredObjects.Add() 方法。
注冊我們創建的對象的例子:
RegisteredObjects.Add(typeof(CustomerTextObject), “ReportPage”, 120, 1);所有參數依次為:注冊對象的名稱、報表頁面的對象名稱、對象圖標的標識符、工具箱中對象的序號。圖標存儲在資源中。您可以將 bmp 格式的圖像添加到資源中或將其直接發送到方法參數而不是圖標標識符。
現在您可以編譯解決方案并啟動報表設計器。工具箱中又出現了一個控件:
如果您對FastReport感興趣,歡迎加入FastReport QQ交流群:801349317
還想要更多嗎?可以您點擊閱讀【FastReport的報表2020最新資源盤點】,查找需要的教程資源。讓人興奮的是FastReport的.NET正在慧都網火熱銷售中!低至3701元型態起!> >查看價格詳情
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: