创建报表模板 (继承方式)

你可以创建一个其他报表可以继承的模板报表基类。当你的报表有许多相同的特点时报表模板非常有用,例如每一页有相同的页眉页脚。替代重复的创建页眉页脚,创建一个模板报表的页眉页脚,这样其他继承的类就可以拥有这样的属性。

警告:基准报表和继承它们的报表不能包含具有重复名称的控件。

创建基准报表

1、在Visual Studio中添加一个基于代码的区域报表模板,命名为 rptLetterhead

2、按照以下表格的描述将控件添加到报表设计界面。

控件

区域

位置

大小

杂项

Picture

PageHeader

0, 0 in

3, 0.65 in

Image = (click ellipsis and navigate to the location of your image file)

PictureAlignment = TopLeft

Label

PageHeader

1.16, 0.65 in

1.8, 0.25 in

Text = Inheritance

Font = Arial, 15pt, style=Bold

Label

PageFooter

0, 0 in

6.5, 0.19 in

Text =http://www.grapecity.com

HyperLink =http://www.grapecity.com

Font/Bold = True

Alignment = Center

3、点击报表设计界面的灰色区域,打开属性窗口。

4、在属性窗口中,将MasterReport属性设置为True,设置之后Detail区域将被锁定。

你可以在基准报表中设计页眉和页脚区域,当你创建继承与该报表的报表时,你可以修改报表的详细区域。

重要: 当你修改未完成时不要设置 MasterReport 属性为 True 。把这个属性设置为True将触发报表设计器文件的改变。

从基准报表继承报表布局

1、在 Visual Studio 项目中,添加基于代码的区域报表模板,并将其命名为rptLetter.

2、在解决方案资源管理器中,右键单击新创建的报表,选择查看代码选项,以打开报表的代码视图。

3、在代码视图中,修改继承语句,如下所示。

警告: 一旦您继承的基准报表现有报表布局都将丢失。即使您将其更改回 GrapeCity.ActiveReports.SectionReport,也不会回到原始布局。

Visual Basic.NET 代码:

Partial Public Class rptLetter InheritsYourProjectName.rptLetterhead

C#代码:

public partial class rptLetter :YourProjectName.rptLetterhead

4、关闭报表窗口,在Build菜单点击Rebuild。 当重新打开rptLetter, 继承的区域和控件都被禁用了。