报表生成器FastReport .Net如何使用Windows.Forms

被刻印的时光 ゝ 提交于 2021-02-01 13:48:58

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转换为报告对象的算法已得到显着改进。并且还添加了用于转换数字的新功能。欢迎下载体验。(点击下方按钮下载)

立即点击下载FastReport.NET v2021.1最新版

Fastreport.NET在线购买价更低,专享85折起!赶紧加入购物清单吧!

使用Visual Studi中的报表组件

让我们考虑一下Visual Studio中报表组件的典型用法。我们将使用类型化数据集中的数据。

  • 创建一个新的Windows窗体应用程序;
  • 添加数据集到它("Data| add New Data Source…"菜单项);
  • 切换到窗体设计器;
  • 在窗体上添加“DataSet”组件,并将其连接到您创建的类型化数据集。

创建报表的步骤如下:

  • 将“Report”组件放在表单上:

  • 右键点击(或点击智能标签按钮),选择“Design Report…”项目:

  • 选择要在报表中使用的数据源:
  • 创建您的报告。请在《用户手册》中阅读更多相关内容;

  • 关闭报表设计器;
  • 在你的表单上添加一个“按钮”控件;
  • 双击它,并在button_Click事件处理程序中编写以下代码:
report1.Show ();
  • 保存项目并运行它。当您单击一个按钮时,您将看到准备好的报告。

在代码中使用报表

要在代码中使用报表组件,您需要执行以下操作:

  • 创建一个报告实例;
  • 将报告文件加载到其中;
  • 在报表中注册应用程序定义的数据;
  • 如果需要,将值传递给报告参数;
  • 运行报告;

下面的例子演示了如何做到这一点:
使用(Report Report = new Report())

{
report.Load("report1.frx")。
report.RegisterData(dataSet1, "NorthWind");
report.Show();
}

我们将在本手册的以下部分详细考虑这些步骤。

存储和加载报表

你可以用以下方式储存报告:

在应用程序的资源中

使用报告的典型场景(我们在前面看过)使用这种方法。报告对象的StoreInResources属性对此负责。默认情况下,此属性设置为true。这种方法有以下优点和缺点:
+一个报告嵌入到你的应用程序,你不需要部署额外的文件;
-如果你需要更改一个报告,你必须重新编译你的应用程序。
加载报表是自动执行的。要做到这一点,快报告.Net将代码添加到窗体的InitializeComponent方法中。

在. frx文件中

如果希望让用户能够更改报告,则此方法非常有用。在本例中,将报告的StoreInResources属性设置为false。

要从文件中加载报表,请使用报表对象的load方法:

report1.Load(“filename.frx”);

在数据库中

您可以将报告存储在数据库中,可以是字符串形式,也可以是blobstream形式。
要从字符串加载报表,请使用报表对象的LoadFromString方法。要从流中加载报告,请使用load方法的重载版本:
report1.Load(stream);

为了支持报表设计器中的加载/保存操作,您需要替换设计器中的“打开文件”和“保存文件”对话框。阅读这里如何做到这一点。

作为一个c# / VB.网络类

要将报表作为类使用,请设计报表并保存到.cs/.vb文件中。要做到这一点,在“保存”对话框中选择“文件类型”。文件类型可以是。cs或。vb -这取决于报告中的脚本语言(它可以在“报告|选项…”菜单中更改)。将该文件包含到项目中。这种方法有以下优点和缺点:

+你可以使用一个报告作为一个类;
+你可以调试一个报告;
这是在ASP中使用报表的唯一方法。网络项目在中等信任环境下运行
—不能编辑该报表。为此,您需要原始的.FRX文件;

-如果你需要更改一个报告,你必须重新编译你的应用程序。

要使用报表,请创建报表类的实例:

SimpleListReport report = new SimpleListReport();
report.Show ();

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!