Visual Basic 2005――如何绑定到一个IEnumerable数据来源

由于 BindingSource 组件实作 IEnumerable 接口,使得我们可以藉由 BindingSource 组件这一个中间阶层的角色,将控件绑定到 IEnumerable 数据来源。也就是说,从现在开始,我们可以将控件绑定到 System.Data.SqlClient.SqlDataReader 之类的资料来源。当我们将 BindingSource 组件绑定到一个 IEnumerable 数据来源, BindingSource 会建立一个 IBindingList 并将 IEnumerable 数据来源的内容新增至清单中。
 
以下的程序代码示范如何将 DataGridView 控件绑定到一个 SqlDataReader 对象:
 
Private Sub CH3_DemoForm034_Load(ByVal sender As System.Object, _
  ByVal e As System.EventArgs) Handles MyBase.Load
  ' 利用 SqlConnectionStringBuilder 对象来构建连接字符串。
  Dim connectStringBuilder As New SqlConnectionStringBuilder()
  connectStringBuilder.DataSource = "(local)\SQLEXPRESS"
  connectStringBuilder.InitialCatalog = " 北风贸易 "
  connectStringBuilder.IntegratedSecurity = True

  Try
     Using cn As _
       New SqlConnection(connectStringBuilder.ConnectionString)
       ' 开启连接。
       cn.Open()

       Dim foxCMD As New SqlCommand( _
         "SELECT 身份证字号 , 姓名 , 员工性别 , 自传 " & _
         "FROM 飞狐工作室 WHERE 自传 IS NOT NULL", cn)

       Using drFox As SqlDataReader = foxCMD.ExecuteReader()

         ' BindingSource 组件绑定到 SqlDataReader
         Me.BindingSource1.DataSource = drFox

         ' DataGridView 控件绑定到 BindingSource 组件。
         Me.DataGridView1.DataSource = Me.BindingSource1

       End Using
     End Using
  Catch err As SqlException
     MessageBox.Show(err.Message, "SQL Exception", _
       MessageBoxButtons.OK, MessageBoxIcon.Error)
     Exit Sub
  End Try
End Sub

本文出自 “章立民” 博客,转载请与作者联系!

你可能感兴趣的:(职场,basic,休闲,Visual,IEnumerable)