惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
F
Fortinet All Blogs
爱范儿
爱范儿
博客园 - Franky
MyScale Blog
MyScale Blog
罗磊的独立博客
博客园 - 三生石上(FineUI控件)
B
Blog
P
Proofpoint News Feed
IT之家
IT之家
宝玉的分享
宝玉的分享
D
DataBreaches.Net
S
SegmentFault 最新的问题
Microsoft Azure Blog
Microsoft Azure Blog
GbyAI
GbyAI
M
MIT News - Artificial intelligence
L
LangChain Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
月光博客
月光博客
雷峰网
雷峰网
Stack Overflow Blog
Stack Overflow Blog
量子位
V
V2EX
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻

博客园 - Tony.Gong

新项目中的CC.Net每日编译环境 ActiveReports工作总结12——用Designer控件实现用户自定义报表印刷 ActiveReports工作总结11——麻烦的线线框框 ActiveReports工作总结10——完整的一张成绩一览帐票 ActiveReports工作总结9——打印参数设置 ActiveReports工作总结8——用代码控制布局 ActiveReports工作总结7——常用一览表印刷 今天还有多少人在上班啊? ActiveReports工作总结6——使用子报表 ActiveReports工作总结5——常用分栏帐票印刷 ActiveReports工作总结4——换页打印 ActiveReports工作总结3——换列打印 公司现有产品数据层切换的随想 .net发送邮件的一些技巧 ActiveReports工作总结1——AR简介 NUnit学习笔记4--单元测试和项目结合的几种方法 成功升级成老爸。。。。 马上要当老爸了。。。。。 委托与事件学习笔记1---什么是委托?
ActiveReports工作总结2——数据源绑定
Tony.Gong · 2006-09-08 · via 博客园 - Tony.Gong

汗,很久没更新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(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