创建数据使用者

在本节中,我们将一步一步地学习创建作为数据使用者的数据识别类的过程。前一节“创建数据源”演示了如何创建一个可绑定数据使用者的数据源。本示例显示了如何创建一个数据使用者类并将之绑定到前一节所创建的数据源上。

本节示例中的代码来自于数据识别类示例(Dataware.vbp)。您可以在Samples目录下找到它。

将一个数据使用者绑定到某个数据源对象

本例演示了如何创建一个数据使用者类,并将之绑定到某个数据源类。它使用了“创建数据源”中所创建的MySource类。

  1. 打开 Dataware.vbp 工程。(在“文件”菜单中选择“打开工程”。)

    注意 如果您先前没有完成“创建数据源”示例,那么将看不到这个工程。您也可以在Samples目录中找到Dataware.vbp工程的一个已完成版本。

  2. 插入一个新的类模块,方法是选择“工程”菜单中的“添加类模块”

  3. “属性”窗口中,如下设置新类的属性:

属性设置值

NameMyConsumer

DataBindingBehaviorvbSimpleBound

  1. 将下面的代码添加到类模块的“声明”部分:
    Option Explicit
    Private mDirectory As String
    
  2. 为公共DirName属性添加一对Property Get / Property Let过程:
    Public Property Get DirName() As String
    DirName = mDirectory
    End Property
    
    Public Property Let DirName(mNewDir As String)
    mDirectory = mNewDir
    ' 在立即窗口中显示新值。
    Debug.Print mDirectory
    End Property
    

    因为MySource不是一个可视的类,所以需要在Property Let过程中用一条Debug.Print语句来证明它正在检索数据源中的新值。

  3. 选择 Form1,并将下面的代码添加到“声明”部分:
    Option Explicit
    Private objSource As MySource
    Private objBindingCollection As BindingCollection
    Private objConsumer As MyConsumer
    

    新的代码行添加一个对使用者类的引用。

  4. 将下面的代码添加到Form_Load事件过程中:
    Private Sub Form_Load()
    Set objSource = New MySource
    Set objBindingCollection = New BindingCollection
    Set objConsumer = New MyConsumer
    
    ' 将源类分配给 Binding Collection  DataSource 属性。
    Set objBindingCollection.DataSource = objSource
    ' 添加一个绑定。
    objBindingCollection.Add txtConsumer, "Text", "Directory"
    objBindingCollection.Add objConsumer, "DirName", "Directory"
    

    新代码创建客户类的一个实例,并把它添加到Binding Collection中,同时将使用者的DirName属性绑定到数据源的Directory字段。

  5. 按下 F5 键,运行工程。确保“立即”窗口是可见的。

    单击“Cycle”按钮时,MySource所提供的目录名将出现在“文本框”和“立即”窗口中,证明MyConsumer被绑定到MySource。