汗,很久没更新blog了,宝宝刚出生,忙着带孩子,工作也比较忙,实在是没精力更新blog了·@_@
上次举了一个很简单的例子显示一个简单的AR模版,不过现实中,我们一般要求AR显示一组特定数据,这些数据可能是一个数据表,也可能是一个数组。
这时候,就要求我们把这些数据绑定到我们的AR模版上了。AR2.0支持如下数据源:
DataSet
DataTable
DataView
IListSource
绑定数据源的代码如下:
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),改成如下:
再运行,样子好看多了吧。
本节代码下载:https://files.cnblogs.com/batoosai/SimpleExample2.rar
下一节说一下数据的分列和换页(比如有2个班级学生的话,每页显示一个班级的学生)
环境:VB2003+AR2.0
c#的数据绑定,cure写过一篇,
http://www.cnblogs.com/dahuzizyd/archive/2006/07/18/453690.html