报表生成器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及以上版本。web

在FastReport .NET 2021.1的新版本中,咱们实现了对.NET 5的支持。添加了新条形码-Deutsce Post Leitcode。将RTF转换为报告对象的算法已获得显着改进。而且还添加了用于转换数字的新功能。欢迎下载体验。(点击下方按钮下载)算法

存储和加载报告编辑器

您能够用如下方式存储报告:this

方法描述:设计

以网页形式 调试

咱们以前看过的典型场景,使用了这个方法。报告存储在WebReport组件的ReportResourceString属性中。这个方法有如下优势和缺点。code

  • 这是一种最简单的FastReport.Net工做方式。
  • 报表模板存储在Web表单的ViewState中。它将在客户端传输。若是报表的大小很大,可能会减慢工做速度。
  • 此方法与 ""Medium Trust "模式不兼容。

报表加载是自动进行的。orm

在.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);

相关文章
相关标签/搜索