在运行时将报表保存为RPX文件

通过 SaveLayout 方法,你可以在运行时保存报表布局。

重要: 当你保存一个布局文件时, ActiveReports 只将脚本编辑器中的代码保存到文件。任何在.cs或者在.vb文件中的后台代码将不会保存到RPX文件中。

1、右键点击Windows窗体并在右键菜单中选择查看代码选项用来切换到当前窗体的代码视图。

2、向类中添加代码之后保存。

Visual Basic.NET 代码

Dim rpt As New SectionReport1()

Dim xtw As New System.Xml.XmlTextWriter(Application.StartupPath + "\report.rpx",

Nothing)

rpt.SaveLayout(xtw)

xtw.Close()

 

C#代码

SectionReport1 rpt = new SectionReport1();

System.Xml.XmlTextWriter xtw = new System.Xml.XmlTextWriter(Application.StartupPath+ "\\report.rpx", null);

rpt.SaveLayout(xtw);

xtw.Close();

保存报表布局需要调用报表 Run 方法之前进行,如果在 Run 之后调用 SaveLayout 方法,会保存报表修改之后的结果,为了避免这种情况发生,你可以在报表的 ReportStart 事件中调用 SaveLayout 方法。

请注意: 当保存到stream中时,SaveLayout方法使用utf-16 编码保存,当保存到文件中时,则使用utf-8 编码保存。