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折起!赶紧加入购物清单吧!
在上一篇有关使用图表的图表中,我们已经熟悉商业图形和条形码。现在是时候使任务复杂化并使用不同的数据源了。大多数报告通常基于数据库中的数据。为了访问此数据,Lazarus提供了FastReport使用的强大机制。
数据访问组件
这指的是“数据访问”选项卡中的组件,这些组件可以用作报表的数据源。任何TDataSet后继组件都可以用于此目的。
除了访问项目中定义的数据外,FastReport还允许您在运行时创建新组件。我们公司创建数据访问组件的原理与Lazarus环境中使用的原理非常相似-我们在表单上强加了一个组件,并在对象检查器中配置了它的属性。在选择数据库格式时,运行时连接的功能受到更多限制,因此在撰写本文时,只能在运行时创建DBF和SqLite3。
这是指DataAccess选项卡中的组件,这些组件使用FastReportn选项卡中的TfrxDBDataSet连接器组件将表或其他数据源连接到波段。该组件充当数据源和FastReport核心之间的中介。该组件负责浏览记录和访问字段。这样,您就可以避免将FastReport核心与任何数据访问库绑定在一起。
FastReport可以与BDE和任何其他库同时使用,也可以从与数据库无关的源(例如数组或文件)中完全检索数据。
TfrxDataSet组件旨在与数据源一起使用,并且应注意其多功能性。它可以使用从TDataSet继承的所有连接。这就是BDE,CVS和绝大多数其他库!要与其他数据源(数组,文件等)一起使用,请使用TfrxUserDataSet组件。
要将TfrxDBDataSet组件链接到数据源,必须配置以下选项之一:
- DataSet属性,直接链接到表或查询。
- DataSource属性,该属性连接到TDataSource组件。
两种连接方法都是等效的,只是第一种方法没有TDataSource组件。
为了使组件及其相关数据在报告中可用,您需要明确指定在报告中使用哪些数据源。在FastReport设计器中,选择菜单项“ Report / Data ...”,然后在出现的窗口中选中所需源旁边的框。
FastReport设计器中的组件说明
TfrxDBFTable组件旨在组织对.dbf数据库表的访问,并具有以下属性:
- FilePath指定数据库文件夹的路径。
- TableName分配数据库的名称。通过选择数据库,您还将更改路径。
- FieldAliases允许您指定自定义字段名称。
- Filter包含一个用于过滤记录的表达式。
- 已过滤确定是否应用过滤器。
- IndexFieldNames存储构成索引的字段的名称。
- IndexName定义二级索引的名称。
- MasterFields包括与主数据集关联的字段。
- 母版与母版数据集相同。
- UserName设置数据集的别名(用户名)。
组件的属性分配与Lazarus中的TDbf属性相同。要将组件连接到数据库表,只需填写TableName属性。通过设置Active:= True打开表。
FieldAliases属性编辑器允许您选择在访问表时将可用的字段,并为每个字段和整个表设置自定义名称。
MasterFields属性编辑器用于在两个表之间创建主从关系。要在从属表中链接两个具有主从关系的表,请在Master属性中指定主表,然后调用MasterFields属性编辑器。如果表具有要使用的二级索引,请首先配置IndexName属性。
该编辑器使您可以直观地链接数据集的主字段和明细字段。当集通过主/从关系链接时,详细集的内容在您浏览主集时被过滤,因此它仅包含与当前主集记录相关的记录。
要链接集字段,请从左侧列表(详细集)中选择该字段,然后从右侧列表(主集)中选择该字段,然后单击“添加”按钮。这会将字段映射移到较低的列表。要清除底部列表,请使用“清除”按钮。重要的是要注意,要链接的字段必须是同一类型并且是关键。
但是在Lazarus本身中,这些属性不适用于TDbf组件的选择(主从分类和筛选),并且由于我们使用了此组件,因此它对我们也不起作用。
TfrxLazSqliteQuery组件旨在使用SqLite3对数据库进行SQL查询,并具有以下属性:
- 数据库指定数据库连接名称(默认始终为“ sqlLite”)。
- FieldAliases允许您指定自定义字段名称。
- 过滤器存储一个表达式以过滤记录。
- 已过滤确定是否应用过滤器。
- Master与Master数据集相同。
- 参数显示查询参数列表。
- SQL包含查询文本。
- UserName设置数据集的别名(用户名)。
- IgnoreDupParams-如果为true,则查询参数的名称将不会在参数编辑器中重复。
SQL属性具有其自己的编辑器,用于填充SQL查询:
Params属性也有其自己的编辑器。如果查询文本包含参数,则可用。
参数可以有两种类型:一种是从主数据集分配的,另一种是具有特定值的,其中值可以是常量,对变量的引用或对象属性。
如果参数是从主数据集中获取的,则必须配置TfrxLazSqliteQuery.Master属性。数据集必须包含与参数名称相同的字段。无需指定参数类型和值。
TfrxLazSqliteDataBase组件用于连接到SqLite3数据库。其用途类似于TSQLite3Connection和TSqlTransaction组件,并且具有以下属性:
- 已连接-启用True时,将激活连接。
- DatabaseName允许您选择数据库的名称。
- LoginPrompt定义在连接数据库时是否必须要求用户输入密码。如果LoginPrompt = False,则必须在连接字符串中指定用户名和密码。
通过数据库访问构建报告
考虑构建一个简单的报告,其中包含数据访问组件,我们将以LDemo演示数据库为例。
首先,让我们创建一个项目,通过该项目我们将进行实验。在Lazarus中创建一个新项目,并将其放在表单组件TfrxReport,TfrxDesigner,TfrxDialogControls,TfrxDBDataset,TDbf上。
配置与数据库的连接。为此,请找到Dbf1的TableName属性,然后在对话框中选择数据库文件-任何具有.dbf扩展名的文件都可以使用。然后将frxDBDataset1属性DataSet设置为“ Dbf1”。
然后将按钮添加到表单,然后在OnClick中输入以下代码:
procedure TForm1.Button1Click(Sender: TObject); begin frxReport1.DesignReport; end;
记住要允许Linux项目使用线程。安装文章中对此进行了描述 。之后,编译并运行项目。创建最终用户报告设计器不需要任何其他操作。
当您单击“设计”时,设计器将打开并显示一个空报告。考虑在这种环境下构建简单的报告。顺便说一句,到目前为止,您已经知道如何将数据库从Lazarus连接到FR。
一个简单的“列表”类型报告
现在,我们将在运行时从一个已经使用FR的数据库表中输出数据。执行以下步骤来生成报告:
1.单击设计器工具栏上的“新建报告”按钮。FastReport将创建一个空报告,其中包含页面“代码”,“数据”,“ Page1”。
2.切换到“数据”页面,然后在页面上放置“ DBF表”组件:
3.选择要连接的数据库。为此,通过从演示项目中选择customer.dbf文件,在对象检查器中设置TableName属性。
4.要将1级数据库连接到表,请双击该表,然后在打开的窗口中选择我们的表。然后将所需字段从“数据树”窗口拖放到报告表上。我们的报告将如下所示:
要查看生成的报告,请单击工具栏上的“预览”按钮。
有用的数据处理选项
“数据”选项卡不仅适用于数据访问组件。使用“文本”和“绘图”对象,可以放置说明标签并绘制简单的图,如下图所示:
还想要更多吗?您可以点击阅读【FastReport 报表2020最新资源盘点】,查找需要的教程资源。让人兴奋的是FastReport .NET报表正在慧都网火热销售中!低至3701元起!>>查看价格详情
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:FastReport控件中文网 [https://www.fastreportcn.com/]
本文地址:https://www.fastreportcn.com/post/2970.html