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