最近一直在用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
最後,運行程序,我們的第一張AR報表就這麼誕生了。
''' <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的功能還是很強大的,比如可以以dataset爲數據源,設置AR模版;可以把報表導出成html,xls,pdf等。
整個AR的精華其實都在AR模版上,你們在AR模版上右擊,view code,將發現AR模版其實是由一個.rpx文件和一個.vb文件(c#爲.cs)組成的,這類似於asp.net中的代碼分離技術,畫面和代碼分離。
在.vb文件中,你可以做很多控制,比如,畫面(.rpx)上面有個顯示日期的textbox控件,然後你可以在.vb中用代碼獲取當前日期,然後顯示到.rpx上的控件中去。
這些內容,下篇再講,今天先說到這裏吧,希望能和大家一起探討,共同進步。