汗,很久沒更新blog了,寶寶剛出生,忙著帶孩子,工作也比較忙,實在是沒精力更新blog了·@_@
上次舉了一個很簡單的例子顯示一個簡單的AR模版,不過現實中,我們一般要求AR顯示一組特定資料,這些資料可能是一個資料表,也可能是一個數組。
這時候,就要求我們把這些資料繫結到我們的AR模版上了。AR2.0支援如下資料來源:
DataSet
DataTable
DataView
IListSource
綁定資料來源的代碼如下:
'創建AR模版實例
Dim rpt As New ARSimpleExample
'指定數據源為mytable
rpt.DataSource = mytable
rpt.DataMember = mytable.TableName
'顯示AR模版
Me.Viewer1.Document = rpt.Document
rpt.Run()
現在我們舉一個例子,假如我有一個Studeng表,結構如下:
No Name
1 Tom
2 John
3 Mary
我要把他們顯示到AR模版中去,我們有如下工作要做:
1,在我們的Form的frmShowAR_Load事件中,做一下綁定資料來源的操作(把mytable綁定到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()Sub frmShowAR_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
'創建一個talbe,格式如下:
'No Name
'1 Tom
'2 John
'3 Mary
Dim mytable As New DataTable
mytable.Columns.Add("No")
mytable.Columns.Add("Name")
Dim myrow As DataRow
myrow = mytable.NewRow()
myrow("no") = "1"
myrow("name") = "Tom"
mytable.Rows.Add(myrow)
myrow = mytable.NewRow()
myrow("no") = "2"
myrow("name") = "John"
mytable.Rows.Add(myrow)
myrow = mytable.NewRow()
myrow("no") = "3"
myrow("name") = "Mary"
mytable.Rows.Add(myrow)
'創建AR模版實例
Dim rpt As New ARSimpleExample
'指定數據源為mytable
rpt.DataSource = mytable
rpt.DataMember = mytable.TableName
'顯示AR模版
Me.Viewer1.Document = rpt.Document
rpt.Run()
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
2,綁定好資料來源,AR模版就得到了mytable的所有值,然後是要把這些值顯示出來。
先要在AR模版上加幾個控制項用來顯示資料,
開啟我們的模版,在PageHeader中放入2個Lable控制項,用來顯示Title,把它們的Text屬性分別改成“”和“姓名”
然後在Detail中放入2個Textbox控制項,用來顯示學生的No和Name
關鍵的屬性是DataField,這裡要填入該TextBox要綁定的列,
3,ok,很簡單吧,以上2步設定好之後,就可以正常顯示了,按F5,效果如下:
效果是出來了,不過稍微醜了一點,改一下布局(把PageHeader和Detail的高度改成正好放下控制項的高度),給每個控制項加上邊框(右擊控制項,選擇Format Border),改成如下:
再運行,樣子好看多了吧。
本節代碼下載:http://files.cnblogs.com/batoosai/SimpleExample2.rar
下一節說一下資料的分列和換頁(比如有2個班級學生的話,每頁顯示一個班級的學生)
環境:VB2003+AR2.0
c#的資料繫結,cure寫過一篇,
http://www.cnblogs.com/dahuzizyd/archive/2006/07/18/453690.html