惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

宝玉的分享
宝玉的分享
J
Java Code Geeks
S
SegmentFault 最新的问题
L
LangChain Blog
M
MIT News - Artificial intelligence
Stack Overflow Blog
Stack Overflow Blog
IT之家
IT之家
量子位
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
雷峰网
雷峰网
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
MongoDB | Blog
MongoDB | Blog
Microsoft Security Blog
Microsoft Security Blog
腾讯CDC
H
Help Net Security
阮一峰的网络日志
阮一峰的网络日志
Jina AI
Jina AI
N
Netflix TechBlog - Medium
A
About on SuperTechFans
博客园 - 叶小钗
美团技术团队
人人都是产品经理
人人都是产品经理
D
DataBreaches.Net

博客园 - 瑞德船长

Visual C#如何使用Active X组件 Ext.form.ComboBox setValue()初始值设定问题 Ext.tree.TreePanel 在IE下不正常加载 - 瑞德船长 - 博客园 Windows mobile 开发入门—控件开发(漂亮的进度条) Windows mobile 开发入门—GPS程序的开发 Windows mobile 开发入门—网络程序的开发 Windows mobile 开发入门—开发绚丽滑动效果 Windows mobile 开发入门—第一个程序"hello world",链接调试,模拟器的使用 Windows mobile 开发入门—环境搭建 短信PDU编码解码(转) 发布一个小工具:建立站点和域名绑定(附代码) 委托(delegate)的异步调用 实用JavaScript脚本代码大全 - 瑞德船长 - 博客园 动态创建DataGrid 列排序功能的实现 多表头 Mediar.framework--Search 功能 微软RC2CryptoServiceProvider 加密的疏忽 Mediar.Framework—业务的实现3 (控制UI控件的可视和可编辑属性、验证、以及一对一,一对多,多对多关系) Mediar.Framework—业务的实现2(UI 与对象实体的通信)
Active report-在Web 上使用 active report
瑞德船长 · 2006-11-23 · via 博客园 - 瑞德船长
 

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 在下面路径提供一个数据库COPYC:\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);
}