內(nèi)置組件說明
以下是對 中包含的組件的描述FastReport.Web。我們不建議使用除 之外的組件WebReportContainer,因為它們在標(biāo)準(zhǔn)組件樹之外可能不穩(wěn)定。
但是,要微調(diào)渲染,您可能需要使用其他組件。
-
Web報表容器
執(zhí)行渲染的主要且最通用的 Blazor 組件WebReport是<WebReportContainer/>. 它位于命名空間中FastReport.Web.Blazor.Components。
它采用的唯一參數(shù)是該類的對象WebReport。這意味著要使用該組件,您必須創(chuàng)建該類的一個對象WebReport,為其分配一個Report以及其他必要的參數(shù),并將該對象傳遞給參數(shù)WebReportContainer。
例子<WebReportContainer WebReport="@UserWebReport" /> @code { public WebReport UserWebReport { get; set; } protected override void OnParametersSet() { var report = Report.FromFile( Path.Combine( directory, "My report.frx")); // Registers the application dataset Report.RegisterData(DataSet, "NorthWind"); UserWebReport = new WebReport(); UserWebReport.Report = Report; } }
點擊復(fù)制
該組件可以定義不同的模式(設(shè)計器、對話框和普通預(yù)覽),并可以準(zhǔn)備報告、嵌入默認(rèn)樣式和單獨樣式、顯示工具欄、大綱和選項卡、處理交互式報告等。
-
網(wǎng)絡(luò)報告預(yù)覽
它與前面的組件類似,但沒有考慮設(shè)計器模式。也就是說,它總是嘗試準(zhǔn)備并提交報告。
-
報告容器
它與之前的組件類似,但不包括加載WebReport樣式(工具欄/選項卡/大綱的通用和單獨)。
它負(fù)責(zé)報告的準(zhǔn)備以及隨后與工具欄和選項卡(如果需要)一起顯示。
當(dāng)使用任何交互性(單擊報告/使用對話框表單)時,更新的是該組件。
-
報表主體/導(dǎo)出組件
調(diào)用ReportBody大綱呈現(xiàn)(如果需要)并“嵌套”一個組件,該組件是報表本身的呈現(xiàn) ( ExportComponent),并將其ReportContainer傳遞給它。不建議使用。
-
Blazor導(dǎo)出
組件的“最低”級別根本不是組件,而是其本身 - 用于將準(zhǔn)備好的報告導(dǎo)出為RenderTreeBuilderBlazorExport構(gòu)建格式的工具。位于命名空間中。FastReport.Web.Blazor.Export
要構(gòu)建此導(dǎo)出,您必須:
- 準(zhǔn)備報告;
- 確保此報告不使用對話框表單(它們是使用 呈現(xiàn)的,DialogPageComponent并且不在本教程中介紹);
- 創(chuàng)建自己的組件并在其中顯式定義構(gòu)造方法(調(diào)用方法的重寫BuildRenderTree);
- 在此構(gòu)建方法中,創(chuàng)建一個BlazorExport實例,設(shè)置其所需的屬性,然后調(diào)用 Export 并傳遞以下參數(shù):一個 Report 和一個構(gòu)建器實例(該實例是此重寫方法的參數(shù))。
/// Main function protected override void BuildRenderTree(RenderTreeBuilder builder) { using (BlazorExport blazor = new BlazorExport()) { blazor.StylePrefix = $"fr{WebReport.ID}"; blazor.EmbedPictures = true; blazor.OnClick += ProcessClick; blazor.EnableMargins = WebReport.EnableMargins; blazor.SinglePage = true; blazor.CurPage = WebReport.CurrentPageIndex; blazor.Export(myReport, builder); } }
點擊復(fù)制
-
在線設(shè)計師
目前,Online Designer 可以使用 javascript 在 iframe 元素中工作,并且與 Core 的 Online Designer 程序集完全兼容。
要僅使用設(shè)計器的功能,您可以調(diào)用該<IFrameDesigner/>組件,并向其傳遞WebReport帶有配置的 Report 屬性和可選的DesignerLocaleand 的參數(shù)DesignerPath:
<IFrameDesigner WebReport="CurrentWebReport" />
點擊復(fù)制