ActiveReports工作總結2——數據源綁定

上次舉了一個很簡單的例子顯示一個簡單的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>
    ''' -----------------------------------------------------------------------------
ExpandedBlockStart.gif
    Private 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://www.cnblogs.com/Files/batoosai/SimpleExample2.rar

下一節說一下數據的分列和換頁(比如有2個班級學生的話,每頁顯示一個班級的學生)




環境:VB2003+AR2.0
 

發佈了4 篇原創文章 · 獲贊 0 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章