存储和加载报告
FastReport .Net是一款全功能的Windows Forms、ASP.NET和MVC报表分析解决方案,使用FastReport .NET可以创建独立于应用程序的.NET报表,同时FastReport .Net支持中文、英语等14种语言,可以让你的产品保证真正的国际性。
您可以通过以下方式存储报告:
在网络表单中:
我们之前看过的典型方案就使用了这种方法。报告存储在 WebReport 组件的 ReportResourceString 属性中。这种方法有以下优点和缺点:
+ 这是使用 FastReport.Net 的最简单方法;
- 报告模板存储在 Web 表单的 ViewState 中。它将在客户端传输。如果报告较大,可能会减慢工作速度;
- 此方法与 "中等信任 "模式不兼容。
报告将自动加载。
在 .FRX 文件中:
此方法假定报告存储在 "App_Data "特殊文件夹下的文件中。为此
- 运行报告设计器;
- 创建报表并将其保存到 .FRX 文件中;
- 在解决方案资源管理器中选择 "App_Data "文件夹,右键单击该文件夹并选择 "添加/现有项... "项。选择刚刚保存的报告文件;
- 选择 WebReport 组件并清除其 ReportResourceString 属性;
- 选择 "ReportFile "属性,调用其编辑器并从 "App_Data "文件夹中选择报告。
这种方法有以下优点和缺点:
+ 报告不会传输到客户端机器;
- 此方法与 "中等信任 "模式不兼容。
自动加载报告。
也可以通过 WebReport.StartReport 事件处理程序加载报告。StartReport 中的示例代码
(sender as WebReport).Report.Load(this.Server.MapPath("~/App_Data/report.frx"));
点击复制
在此方法中,您可以将报告作为一个类来处理。为此
- 设计报告并保存为 .cs/.vb 文件。为此,请在 "保存 "对话框中选择 "文件类型"。文件类型可能是 .cs 或 .vb - 这取决于报告中的脚本语言(可在 "报告/选项... "菜单中更改);
- 将该文件包含到项目中。最好将其保存在 "App_Code "文件夹中;
- 清除 WebReport 组件的 ReportResourceString 和 ReportFile 属性。
此方法有以下优缺点:
+ 可以像普通类一样使用报告;
+ 可以在 Visual Studio 中调试报告;
+ 这是使用 "中等信任 "模式报告的唯一方法;
- 不能编辑此类报告。为此,您需要原始的 .FRX 文件。
要使用报告,请创建 WebReport.StartReport 事件处理程序。在该处理程序中,应执行以下操作:
- 创建报告类的实例;
- 注册数据;
- 将报告设置为 WebReport 组件的报告属性。
StartReport 事件处理程序示例:
SimpleListReport report = new SimpleListReport(); report.RegisterDataAsp(your_data, "your_data_name"); WebReport1.Report = report;
点击复制
(sender as WebReport).Report.LoadPrepared(this.Server.MapPath("~/App_Data/Prepared.fpx")); (sender as WebReport).ReportDone = true;
点击复制