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>
     ' '' -----------------------------------------------------------------------------
     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

c#的数据绑定,cure写过一篇,
 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值