[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 的新版本中,咱们实现了对.NET 5 的反对。增加了新条形码 -Deutsce Post Leitcode。将 RTF 转换为报告对象的算法已失去显着改良。并且还增加了用于转换数字的新性能。欢送下载体验。(点击下方按钮下载)
存储和加载报告
您能够用以下形式存储报告:
办法形容:
以网页模式
咱们之前看过的典型场景,应用了这个办法。报告存储在 WebReport 组件的 ReportResourceString 属性中。这个办法有以下长处和毛病。
- 这是一种最简略的 FastReport.Net 工作形式。
- 报表模板存储在 Web 表单的 ViewState 中。它将在客户端传输。如果报表的大小很大,可能会减慢工作速度。
- 此办法与 “”Medium Trust “ 模式不兼容。
报表加载是主动进行的。
在.FRX 文件中
此办法假如报表存储在一个非凡文件夹 “App_Data “ 中的文件中。要做到这一点。
- 运行报表设计器:
- 创立一个报表并将其保留到.FRX 文件中。
- 在 “ 解决方案资源管理器 “ 中,抉择 “App_Data “ 文件夹,右键点击,抉择 “ 增加 | 现有我的项目 … “ 项。抉择方才保留的报表文件。
- 抉择 WebReport 组件,革除其 ReportResourceString 属性。
- 抉择 “ReportFile “ 属性,调用其编辑器,从 “App_Data “ 文件夹中抉择报表。
此办法有以下利弊:
- 报表不会被传送到客户端机器上。
- 此办法与 “ 中等信赖 “ 模式不兼容。
报表加载是主动进行的。
也能够通过 WebReport.StartReport 事件处理程序加载报表。
StartReport 事件处理程序中的代码示例
(sender as WebReport).Report.Load(this.Server.MapPath(“~/App_Data/report.frx”))。 作为一个 C#/VB.NET 类
在这个办法中,你把报表作为一个类来解决。要做到这一点:
- 设计你的报表并保留在.cs/.vb 文件中。要做到这一点,在 “ 保留 “ 对话框中抉择 “ 文件类型 ”。文件类型可能是.cs 或.vb– 这取决于报表中的脚本语言(能够在 “Report|Options… “ 菜单中更改)。
- 将该文件蕴含在你的我的项目中。最好把它保留在 “App_Code “ 文件夹中。
- 革除 WebReport 组件的 ReportResourceString 和 ReportFile 属性。
这个办法有以下长处和毛病:
- 你能够把报表作为一个一般的类来应用;
- 你能够在 Visual Studio 中调试报表;
- 这是在 “Medium Trust “ 模式下应用报表的惟一办法。
- 你不能编辑这样的报表。要做到这一点,你须要原始的.FRX 文件。
要应用报表,请创立 WebReport.StartReport 事件处理程序。在这个处理程序中,你应该做以下事件:
- 创立一个报表类的实例。
- 注册数据。
- 将报表设置为 WebReport 组件的 Report 属性。
StartReport 事件处理程序的例子。
SimpleListReport report = new SimpleListReport();
report.RegisterDataAsp(your_data, “your_data_name”);
WebReport1.Report = report;
筹备好的报告能够通过 WebReport.StartReport 事件处理程序应用 WebReport.ReportDone 属性来显示。在 StartReport 中加载和显示筹备好的报告的示例代码。
(sender as WebReport).Report.LoadPrepared(this.Server.MapPath(“~/App_Data/Prepared.fpx”));
(sender as WebReport).ReportDone = true;
注册数据
如果应用 WebReport 组件的 “ 智能标签 “ 菜单抉择数据源,则不须要手动注册数据。在这种状况下,FastReport.Net 将数据源的名称存储在 WebReport 组件的 ReportDataSources 属性中。
如果您不想应用这种办法注册数据,您须要手动注册。能够通过应用 WebReport 组件的 StartReport 事件来实现。在这个事件处理程序中,你能够调用报表的 RegisterData 和 RegisterDataAsp 办法。能够通过 WebReport.Report 属性来拜访报表。
webReport1.Report.RegisterData(myDataSet).
在本节中浏览更多对于注册数据的内容。
向报表参数传递一个值
要向报表参数传递一个值,请应用 Report 对象的 SetParameterValue 办法。该办法在 “ 应用 Windows.Forms 工作 “ 一章中有具体介绍。
要在 ASP.NET 中应用该办法,须要为 WebReport 组件的 StartReport 事件创立事件处理程序。能够通过 WebReport 拜访报表。
Report 属性:
webReport1.Report.SetParameterValue(“MyParam”, 10);