activeReport 开发一

ActiveReport .net 下的一个出色的报表开发程序,虽然和水晶报表相比,名气不那么大,甚至有很多人不知道它的存在,但是并不妨碍它在 .net 报表开发中的出色表现,本文将一步一步地介绍如何使用它和 VS2008 开发 .net 报表。
 
1.         安装:
你可以从 Data Dynamics 的网站上下载最新的 ActiveReport for .net 3.0 ,你可以免费使用,但是在生成的报表最下边有水印,不过不影响报表的整体美观。下载后直接安装就可以了。你也可以找破解包,安装完后会看到开始-程序菜单里的 DataDynamics 的目录,里面包括了,帮助,例子程序等。
2.         第一个 Web 表程序。
在安装完成后,启动 VS2008 ,会看到启动界面上有 ActiveReport 的图标,进入后新建一个工程,并且给工程添加新文件,在文件类型中就可以看到 ActiveReport 文件的图标。给报表文件命名为 ActiveReport1 ,确定后会弹出一个提示:你正在添加一个特殊格式的文件,要在网站中使用此类型,需将其放到app_code文件夹中,是否将其放入App_Code中,点击确定,则在App_Code看到有一个 ActiveReport1.cs 文件,这个就是报表文件了。 打开文件,就是报表的CS文件,在此注明,大家不要被此文件给愚弄了,说实话我在此迷惑不解了好久,一直在找它的设计文件,但是一直无果,所以一直费劲的在敲代码来布局,但在一个偶然的机会,才发现右键,视图设计器,就可以打开设计页面,当时我气的差点吐血,我可是重装了N次呀,这才是众里寻它千百度,蓦然回首那人却在灯火阑珊处,而前人没有一个人提到,为了大家少走弯路,所以在此强调一下。下面我们接着言归正传,在设计页面可以看到三部分, PageHeader (表头), Detail (明细), PageFooter (表尾)。打开工具箱,给 Detail 部分随便添加一个 Label
下面就要显示这个报表了,在工程中添加一个web窗体,在窗体上写上以
<object id="arv" codebase="arview2.cab#version=-1,-1,-1,-1" height="100%" width="100%" classid="clsid:8569D715-FF88-44BA-8D1D-AD3E59543DDE" viewastext>
    <param name="_ExtentX" value="26141">
    <param name="_ExtentY" value="11959">
   </object>
窗体上还要 写以下代码:此处是一个再次load事件,应该是内部调用使用的。
<script language="vbscript">
<!--
   sub arv_ControlLoaded()
       arv.DataPath = "ActiveXViewer.aspx?ReturnReport=1"
       
   end sub
   -->
   </script>
   我们在.cs文件中写入
string sReturnReport = this.Page.Request.QueryString["ReturnReport"];
  if ( (sReturnReport != null) && (sReturnReport.Trim().Length != 0) )
  {
      this.Page.Response.Buffer = true;
   ActiveReport3 rpt = null;
   try
   {
               //这两句话是重点
               rpt = new ProductReport(myArray);
               rpt.Run(false);     
   }
   catch (DataDynamics.ActiveReports.ReportException eRunReport)
   {
    this.Trace.Warn("Report failed to run:\n" + eRunReport.ToString());
   }
     MemoryStream outStream = new MemoryStream();
      rpt.Document.Save(outStream, DataDynamics.ActiveReports.Document.RdfFormat.AR20);
    outStream.Seek(0, SeekOrigin.Begin);
    byte[] bytes = new byte[outStream.Length];
     outStream.Read(bytes, 0, (int)outStream.Length);
     this.Page.Response.ClearContent();
   this.Page.Response.ClearHeaders();
     this.Page.Response.BinaryWrite(bytes);
      this.Page.Response.End();
  }
然后 运行,就可以看到在 Viewer 控件中显示报表了
3.       还要注意的是,在 web 方式下,需要在 web.config 文件中添加下面这段:
< httpHandlers >
< add verb = "*"path="*.rpx"type="DataDynamics.ActiveReports.Web.Handlers.RpxHandler, ActiveReports.Web, Version=4.2.1.1238, Culture=neutral, PublicKeyToken=cc4967777c49a3ff"/>
< add verb = "*"path="*.ActiveReport"type="DataDynamics.ActiveReports.Web.Handlers.CompiledReportHandler, ActiveReports.Web, Version=4.2.1.1238, Culture=neutral, PublicKeyToken=cc4967777c49a3ff"/>
< add verb = "*"path="*.ArCacheItem"type="DataDynamics.ActiveReports.Web.Handlers.WebCacheAccessHandler, ActiveReports.Web, Version=4.2.1.1238, Culture=neutral, PublicKeyToken=cc4967777c49a3ff"/>
</ httpHandlers >

转载于:https://www.cnblogs.com/kitelotus/archive/2008/12/19/1358333.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值