ActiveReport 是.net下的一个出色的报表开发程序,虽然和水晶报表相比,名气不那么大,甚至有很多人不知道它的存在,但是并不妨碍它在.net报表开发中的出色表现,本文将一步一步地介绍如何使用它和VS2005开发.net报表。
1. 安装:
你可以从Data Dynamics的网站上下载最新的ActiveReport for .net 2 ,你可以免费使用,但是在生成的报表最下边有水印,不过不影响报表的整体美观。下载后直接安装就可以了。安装完后会看到开始-程序菜单里的DataDynamics的目录,里面包括了,帮助,例子程序等。
2. 第一个Winform报表程序。
在安装完成后,启动VS2005,会看到启动界面上有ActiveReport的图标,进入后新建一个工程,并且给工程添加新文件,在文件类型中就可以看到ActiveReport文件的图标。给报表文件命名为ActiveReport1,确定后会看到项目中有一个ActiveReport1.rpx文件,这个就是报表文件了。
打开文件,就是报表的设计界面,在这里可以看到三部分,PageHeader(表头),Detail(明细),PageFooter(表尾)。打开工具箱,给Detail部分随便添加一个Label。
下面就要显示这个报表了,在Form上添加一个Viewer控件,如果工具箱里没有,可以通过配置工具箱来找到它。Viewer添加完后,在Form中写代码:
ActiveReports1 rpt = new ActiveReports1();
rpt.Run();
this.viewer1.Document = rpt.Document;
然后F5运行,就可以看到在Viewer控件中显示报表了。
要注意的是,项目名称不要命名为ActiveReport,否则会提示找不到ActiveReport.rpx文件。
3. 第一个web报表程序。
Web方式的报表开发方式和winform的差不多,不同的是,web方式下需要作一些配置,配置过程不再累述,可以在帮助里搜索“Manually Configuring Web Samples”,按照里面的步骤对IIS作配置。
要注意的是,如果使用的是VS2005,那么可以不作配置,只要在创建Web项目的时候文件位置选项设置为“文件系统”就可以直接运行了。还要注意的是,在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>
如果是VS2005,系统会自动添加。
接下来的就和winform下的差不多了,不同的是,要在解决方案中新增一个“类库”项目,在这个项目中新建报表文件,然后在Web项目中添加对类库项目的引用,然后在页面上添加WebViewer控件,然后编写代码:
this.WebViewer1.Report = new YourNamespace.ActiveReports1();
然后运行界面,就可以看到在WebViewer中加载的报表了。
你可以通过WebViewer的ViewType属性来设置在页面上如何显示,例如,如果选择了AcrobatReader,就会给报表生成一个PDF文档在页面上嵌入显示。
下次我们将演示如何在报表上加载和显示数据
本文转自peterzb博客园博客,原文链接:http://www.cnblogs.com/dahuzizyd/archive/2006/07/17/Active_Report_Net_1.html,如需转载请自行联系原作者。