内置组件说明
以下是对 中包含的组件的描述FastReport.Web。我们不建议使用除 之外的组件WebReportContainer,因为它们在标准组件树之外可能不稳定。
但是,要微调渲染,您可能需要使用其他组件。
-
Web报表容器
执行渲染的主要且最通用的 Blazor 组件WebReport是<WebReportContainer/>. 它位于命名空间中FastReport.Web.Blazor.Components。
它采用的唯一参数是该类的对象WebReport。这意味着要使用该组件,您必须创建该类的一个对象WebReport,为其分配一个Report以及其他必要的参数,并将该对象传递给参数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; } }
点击复制
该组件可以定义不同的模式(设计器、对话框和普通预览),并可以准备报告、嵌入默认样式和单独样式、显示工具栏、大纲和选项卡、处理交互式报告等。
-
网络报告预览
它与前面的组件类似,但没有考虑设计器模式。也就是说,它总是尝试准备并提交报告。
-
报告容器
它与之前的组件类似,但不包括加载WebReport样式(工具栏/选项卡/大纲的通用和单独)。
它负责报告的准备以及随后与工具栏和选项卡(如果需要)一起显示。
当使用任何交互性(单击报告/使用对话框表单)时,更新的是该组件。
-
报表主体/导出组件
调用ReportBody大纲呈现(如果需要)并“嵌套”一个组件,该组件是报表本身的呈现 ( ,并将其ReportContainer传递给它。不建议使用。
-
Blazor导出
组件的“最低”级别根本不是组件,而是其本身 - 用于将准备好的报告导出为BlazorExport构建格式的工具。位于命名空间中。FastReport.Web.Blazor.Export
要构建此导出,您必须:
- 准备报告;
- 确保此报告不使用对话框表单(它们是使用 呈现的,DialogPageComponent并且不在本教程中介绍);
- 创建自己的组件并在其中显式定义构造方法(调用方法的重写BuildRenderTree);
- 在此构建方法中,创建一个BlazorExport实例,设置其所需的属性,然后调用 Export 并传递以下参数:一个 Report 和一个构建器实例(该实例是此重写方法的参数)。
/// 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); } }
点击复制
-
在线设计师
目前,Online Designer 可以使用 javascript 在 iframe 元素中工作,并且与 Core 的 Online Designer 程序集完全兼容。
要仅使用设计器的功能,您可以调用该<IFrameDesigner/>组件,并向其传递WebReport带有配置的 Report 属性和可选的DesignerLocaleand 的参数DesignerPath:
<IFrameDesigner WebReport="CurrentWebReport" />
点击复制