我们经常会有许多数据相同的报告,例如,带有公司徽标和一些数据(电子邮件、地址等)的页眉/页脚。现在设想一下,您需要更改一些公司数据,例如电子邮件。您必须在每个报告中都这样做!为了避免这种情况,您可以使用报告继承。什么是报告继承?
举例来说,每个报告中都有一些常用元素(徽标、公司名称、电子邮件等)。这些元素通常放在报告标题和/或页眉上。您可以创建一个只包含常用元素的基本报告。所有其他报告都将使用基础报告,因此将包含这些常用元素和报告中定义的自有元素。
如果需要更改某些内容(徽标、电子邮件),只需打开基本报告并进行必要的更改即可。所有其他从基本报告继承的报告都将自动更改。事实上,当你打开一个继承的报告时,首先打开的是基础报告,然后才是继承的报告。
FastReport .Net是一款全功能的Windows Forms、ASP.NET和MVC报表分析解决方案,使用FastReport .NET可以创建独立于应用程序的.NET报表,同时FastReport .Net支持中文、英语等14种语言,可以让你的产品保证真正的国际性。
FastReport.NET官方版下载(qun:585577353)https://www.evget.com/product/1861/download
创建报告
要使用继承功能,您需要执行以下操作:
- 创建基本报告并将其保存到文件中;
- 创建一个继承自基本报告的新报告。
要创建继承报告,请选择 "File|New..."菜单项,然后在窗口中选择 "Inherited report "项:
系统会要求您选择一个基础报告文件。此时必须创建该文件。之后,基础报告将加载到设计器中。您可以随意更改。您会看到基础报告中的对象都标有 "lock "标志:
您不能删除这些对象、重命名或移动到另一个频段。
您可以添加新对象或带,更改对象的外观、大小和位置。完成后,保存报告。
更改基本报告
让我们看看如果更改基本报告会发生什么。我们可以:
- 从基础报告中删除对象。该对象也将从继承报告中删除;
- 将对象添加到基本报告中。该对象将自动出现在继承报告中;
- 更改对象的大小、位置、文本和外观。如果继承报告中没有更改对象,所有更改都将反映在继承报告中。
最后一点需要解释一下。让我们看两个使用继承的例子。在第一个示例中,我们将这样做:
- 创建一个包含 Text1 对象的基本报表;
- 创建一个继承的报表并保存,不做任何更改;
- 打开基本报表,移动 Text1 对象;
- 打开继承报表,我们会看到 Text1 对象也被移动了。
在第二个示例中,我们将执行以下操作:
- 创建一个包含 Text1 对象的基本报告;
- 创建一个继承报告;
- 在继承报告中,将 Text1 对象移动到新位置并保存报告;
- 打开基本报告,将 Text1 对象移动到不同的位置;
- 打开继承的报表,我们会发现 Text1 对象没有移动。
出现这种情况的原因是我们在继承报告中更改了对象。这一更改已保存在继承报告文件中。现在,如果我们在基本报告中更改了原始对象,那么在继承报告中将会忽略该更改。在这种情况下,新对象的位置将被忽略。所有其他更改(例如文本颜色)仍将反映在继承报告中。
如果我们查看一下继承报告文件的内容,就会清楚这种行为。例如,在未更改原始对象的情况下,原始对象是这样保存在继承报告中的:
<inherited Name="Text1"/>
如果我们更改了对象在继承报告中的位置,就会像这样保存:
<inherited Name="Text1" Left="255.15" Top="28.35"/>
打开继承报告时,FastReport 将加载基础报告中定义的所有对象属性,以及继承报告中保存的属性。
局限性
设计报表继承的目的如下:将页眉和页脚等常用报表元素保存在单独的文件中,并在继承的报表中重复使用。不要尝试使用继承来执行更复杂的任务。尤其要避免以下操作:
- 不要从被继承的报表中继承报表(即不要继承两次);
- 不要在基本报表中使用表格和矩阵等复杂对象;
- 不要在基本报告中使用脚本
- 不要在基本报告中使用参数。