Active report-在Web 上使用 active report
Active report-在Web 上使用 active report
Active report 操作简单,方便,还附有例子非常容易上手。做了几个星期的报表特记录下来学习笔记。环境xp+vs2005 +Active report3.0. 这篇文章为翻译的帮助文档,练练英文!原文地址:
ms-help://dd.ActiveReports3.1033/ddARNET3/ar2wlkUsingActiveXViewerControlontheWeb.html
ActiveX Viewer 控件允许你在浏览器中显示,打印和输出报表文件。
这篇文章分为下面几个部分:
l 添加一个报表Web 应用程序
l 设定一个报表数据源
l 添加一个ActiveX viewer .cab文件到工程序文件夹中
l 在工程下面添加一个ReportOutput 文件夹
l 在web窗体添加必需的对象标记
l 在web 窗体添加window_onload 事件代码
l 在web 的后置代码中添加Page_Load事件代码
要完成这个教程,你必需可以访问Northwindovrn数据库,Active Report 在下面路径提供一个数据库COPY:C:\Program Files\Data Dynamics\ActiveReports for .NET 3.0\Data\NWIND.MDB.
你的计算机或者服务器必需可以访问IIS。
你必需可以运行 “Configure Web Sample”配置从程序开始菜单Active Report.
当你完成这个教程,你会得到下面这个样报表:
添加一个报表Web 应用程序
1. 创建一个asp.net web 工程
2. 从web 工程菜单,选择添加新项
3. 选择ActiveReports 3.0 文件,重命名rptActiveX
4. 点击添加.
5. 当询问是否把class 放到'App_Code'文件夹,点“YES”
设定一个报表数据源
1. 在detail section ,点击灰色数据源按钮,然后打开一个报表对话框。
2. 点击Build
3. 选择Microsoft Jet 4.0 OLE DB Provider 点下一步
4. 点省略按钮找到数据库路径,选择路径
5. 点OK继续
6. 在查询field , 输入” Select * from products order by categoryID”
7. 点OK 返回报表界面
添加报表数据控件
1. 添加一个GroupHeader/Footer section 到rptActiveX
2. 修改GroupHeader 属性 Name=” ghCategories”, BackColor=” RosyBrown”, DataField=” CategoryID”
3. 在ghCategories中添加下面的Labels
Name |
Text |
Location |
lblProductName |
Product Name |
0, 0 |
lblUnitsInStock |
Units In Stock |
1.88, 0 |
lblUnitsOnOrder |
Units On Order |
2.94, 0 |
lblUnitPrice |
Unit Price |
4, 0 |
4设置detail section 的CanShrink=true.
5在报表资源管理器,展开Field节,拖下面Felid的节到detail section
Field |
Text |
Location |
Output Format |
ProductName |
Product Name |
0, 0 |
NA |
UnitsInStock |
Units In Stock |
1.88, 0 |
NA |
UnitsOnOrder |
Units On Order |
2.94, 0 |
NA |
UnitPrice |
Unit Price |
4, 0 |
Currency |
添加一个ActiveX .cab文件到工程文件夹
1. 打开window 资源管理器找到active report 安装路径,default:"C:\Program Files\Data Dynamics\ActiveReports for .NET 3.0."
2. 双击Deployment文件夹,Copy ActiveX .cab
3. 转到你的工程文件夹
4. 粘贴这个.cab文件到你的工程文件夹
在工程文件夹下建一个 ReportOutput 文件夹
1. 在window 资源管理器找到你的工程文件夹
2. 右击新建-》文件夹
3. 把文件夹名修改为ReportOutput
4. 确保你有这个文件夹的写权限
在窗体的html中添加对象标记
l 在HTML窗体视图,在body标里,但是在<form> tags外面,添加下面的代码:
<OBJECT id="arv" codeBase="arview2.cab" height="100%" width="100%"
classid="clsid:8569D715-FF88-44BA-8D1D-AD3E59543DDE" VIEWASTEXT>
<PARAM NAME="_ExtentX" VALUE="11218">
<PARAM NAME="_ExtentY" VALUE="7329"></OBJECT>
在WEB窗体的window_onload事件中添加代码
1. 在html窗体顶部,点击下拉框” Client Objects and Events”, 选择 ” window”
2. 在右边下拉框中选择”onload ”事件
3. 这将会在web 窗体体创建一个事件
4. 添加下面的代码在事件中arv.datapath = "ReportOutput/axreport.rdf";
在窗体的Page_Load事件中添加代码
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles _
MyBase.Load
Dim rpt As New rptActiveX()
rpt.Run()
rpt.Document.Save(Server.MapPath("") + "\ReportOutput\axreport.rdf", DataDynamics.ActiveReports.Document.RdfFormat.AR20)
End Sub
//C#
private void Page_Load(object sender, System.EventArgs e)
{
rptActiveX rpt = new rptActiveX();
rpt.Run();
rpt.Document.Save(Server.MapPath("") + "\\ReportOutput\\axreport.rdf",
DataDynamics.ActiveReports.Document.RdfFormat.AR20);
}