Tony Gong的技术Blog  
技术旅途中蹒跚的行者
 ActiveReports(以下简称AR)是一款日本开发的报表打印组件,类似于vs2003自带的那个CrystalReports(即水晶报表,简称CR),虽然普及率没CR高,但是在很多对日项目中却普遍使用,而网上资料几乎都是CRAR的中文资料不是很丰富。

最近一直在用AR,故对AR的使用也有一定经验,所以打算把这些经验总结一下,一方面自己总结巩固一下,一方面也给有这方面需要的朋友参考参考。文章可能有很多错误或不足之处,希望可以和大家一起讨论。

AR的使用其实和CR很像,有CR经验的朋友开发AR肯定会驾轻就熟。对于那些没有报表开发经验的朋友也不要紧,我们下面一步步来,先试着创建一个最简单的报表。

一,准备工作。

我的工作环境是vs2003+vb.net,以下例子就用这个环境,C#vb.net没啥差别的。

首先,装vs2003,这是废话。

其次,装AR,似乎也是废话,vs2003自带CR,但却不带AR的,所以只能自己装。安装文件google一下,应该很好找,假如不知道下载哪个的话,我回家上传一个。

安装好AR之后,你可以在工具箱里看到多了一个控件Viewer,如图:


 假如没有直接出现的话,可以添加一下,如图:


同时,在工程上添加一个新的Item时,你将会发现多了一个Item选项,这个就是AR的模版文件:


这里有必要解释下多出来的这2个咚咚是干嘛的。

1, 工具箱里的那个Viewer,是放在Form上的,可以理解为一个容器。

2, 那个新Item,是个rpx文件,是AR的模版,可以理解为需要放到容器里的实物。最终用户通过Form上的那个Viewer容器,看到AR模版的内容。

 

二,创建一个AR报表的简单流程。

a)         创建一个窗体frmShowAR,在这个formadd一个 Viewer控件Viewer1



b)       
创建一个AR模版ARSimpleExample



c)       
AR模版ARSimpleExample随便加几个textbox(工具箱里多了个ActiveReports板块,只有里面的这些控件,才可以放到AR模版上),这就是我们需要打印出来的东西



d)       
在窗体frmShowAR中加入代码,使Viewer1显示AR模版ARSimpleExample

 

    ''' -----------------------------------------------------------------------------
    ''' <summary>
    ''' form load事件
    ''' </summary>
    ''' <param name="sender"></param>
    ''' <param name="e"></param>
    ''' <remarks>
    ''' form load時,把AR模版裝載到Viewer容器中去
    ''' </remarks>
    ''' <history>
    '''     [TonyGong]    6/5/2006    Created
    ''' </history>
    ''' -----------------------------------------------------------------------------
    Private Sub frmShowAR_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        
Try
            
'創建AR模版實例
            Dim rpt As New ARSimpleExample

            
'顯示AR模版
            Me.Viewer1.Document = rpt.Document
            rpt.Run()

        
Catch ex As Exception
            MessageBox.Show(ex.ToString)
        
End Try
    
End Sub



e)         最后,运行程序,我们的第一张AR报表就这么诞生了。

 

 

这只是一个最最简单的例子,AR的功能还是很强大的,比如可以以dataset为数据源,设置AR模版;可以把报表导出成htmlxlspdf等。

整个AR的精华其实都在AR模版上,你们在AR模版上右击,view code,将发现AR模版其实是由一个.rpx文件和一个.vb文件(c#.cs)组成的,这类似于asp.net中的代码分离技术,画面和代码分离。

.vb文件中,你可以做很多控制,比如,画面(.rpx)上面有个显示日期的textbox控件,然后你可以在.vb中用代码获取当前日期,然后显示到.rpx上的控件中去。

这些内容,下篇再讲,今天先说到这里吧,希望能和大家一起探讨,共同进步。

本节代码下载:https://files.cnblogs.com/batoosai/SimpleExample.rar

posted on 2006-06-05 12:08  Tony.Gong  阅读(6401)  评论(18编辑  收藏  举报