乐趣区

关于.net:报表生成器FastReport-Net存储和加载报告

[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);

退出移动版