PrivateSub BindData()Sub BindData() If objDataSet IsNothingThenReturn Dim customBindingSource As BindingSource =New BindingSource Dim orderBindingSource As BindingSource =New BindingSource Dim detailBindingSource As BindingSource =New BindingSource customBindingSource.DataSource = objDataSet customBindingSource.DataMember ="Customers" orderBindingSource.DataSource = customBindingSource orderBindingSource.DataMember ="CustomerOrder" detailBindingSource.DataSource = orderBindingSource detailBindingSource.DataMember ="OrderDetail" Me.lstCustom.DataSource = customBindingSource Me.lstCustom.ValueMember ="ContactName" Me.lstCustom.DisplayMember ="ContactName" Me.DataGridView1.DataSource = orderBindingSource Me.DataGridView2.DataSource = detailBindingSource Me.DataGridView1.AutoResizeColumns() Me.DataGridView2.AutoResizeColumns() Me.txtName.DataBindings.Add("Text", customBindingSource, "ContactName") Me.txtContactTitle.DataBindings.Add("Text", customBindingSource, "ContactTitle") Me.txtAddress.DataBindings.Add("Text", customBindingSource, "Address") Me.txtCity.DataBindings.Add("Text", customBindingSource, "City") Me.txtRegion.DataBindings.Add("Text", customBindingSource, "Region") Me.txtPostalCode.DataBindings.Add("Text", customBindingSource, "PostalCode") Me.txtPhone.DataBindings.Add("Text", customBindingSource, "Phone") Me.txtFax.DataBindings.Add("Text", customBindingSource, "Fax") Me.txtCountry.DataBindings.Add("Text", customBindingSource, "Country") End Sub
而浏览数据,可以通过BindingManagerBase的Position来控制:
PrivateSub btnFirst_Click()Sub btnFirst_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFirst.Click 'Dim binding As Binding = Me.txtName.DataBindings("Text") 'Dim manager As BindingManagerBase = binding.BindingManagerBase Dim manager As BindingManagerBase =Me.BindingContext(Me.lstCustom.DataSource) manager.Position =0 End Sub PrivateSub btnPrev_Click()Sub btnPrev_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrev.Click Dim manager As BindingManagerBase =Me.BindingContext(Me.lstCustom.DataSource) If manager.Position >0Then manager.Position -=1 EndIf End Sub PrivateSub btnNext_Click()Sub btnNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNext.Click Dim manager As BindingManagerBase =Me.BindingContext(Me.lstCustom.DataSource) If manager.Position < manager.Count -1Then manager.Position +=1 EndIf End Sub PrivateSub btnLast_Click()Sub btnLast_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLast.Click Dim manager As BindingManagerBase =Me.BindingContext(Me.lstCustom.DataSource) manager.Position = manager.Count -1 End Sub