最近一直在用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,在这个form上add一个 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模版;可以把报表导出成html,xls,pdf等。
整个AR的精华其实都在AR模版上,你们在AR模版上右击,view code,将发现AR模版其实是由一个.rpx文件和一个.vb文件(c#为.cs)组成的,这类似于asp.net中的代码分离技术,画面和代码分离。
在.vb文件中,你可以做很多控制,比如,画面(.rpx)上面有个显示日期的textbox控件,然后你可以在.vb中用代码获取当前日期,然后显示到.rpx上的控件中去。
这些内容,下篇再讲,今天先说到这里吧,希望能和大家一起探讨,共同进步。
本节代码下载:https://files.cnblogs.com/batoosai/SimpleExample.rar