マスター フォーム Form1 とユーザー コントロール CustomerDetails があるシナリオに基づくデータ バインディングの問題があります。メイン フォームに名前だけのグリッドビューがあり、ユーザー コントロールでより詳細なビューを表示したいと考えています。
私のメインフォームにはバインディングソースがあり、私のユーザーコントロールにはバインディングソースがあり、デザイン時にさまざまなフィールドがバインドされています: 例: Firstname Lastname Dob Address
http://msdn.microsoft.com/en-us/library/ms233813%28v=vs.90%29.aspxのガイドに従いました 。
これにより、最初のレコードが正しく表示されますが、メインの別の顧客をクリックすると、ユーザーコントロールが更新されず、元の顧客の詳細が残ります
コード:FORM 1
Public Class Form1
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Dim CustomerList As New List(Of Customer)
CustomerList.Add(New Customer With {.FirstName = "Fred", .LastName = "Bloggs"})
CustomerList.Add(New Customer With {.FirstName = "John", .LastName = "Smith"})
CustomerList.Add(New Customer With {.FirstName = "Harry", .LastName = "Davies"})
CustomerList.Add(New Customer With {.FirstName = "Ben", .LastName = "Taylor"})
CustomerList.Add(New Customer With {.FirstName = "Rob ", .LastName = "Jones"})
CustomerBindingSource.DataSource = CustomerList
End Sub
End Class
Code: CustomerDetails
Imports System.ComponentModel
<System.ComponentModel.ComplexBindingProperties("DataSource", "DataMember")>
Public Class CustomerDetails
' DataMember Property
Public Property DataMember() As Object
Get
Return CustomerBindingSource.DataMember
End Get
Set(value As Object)
CustomerBindingSource.DataMember = value
End Set
End Property
' DataSource Property
Public Property DataSource() As Object
Get
Return CustomerBindingSource.DataSource
End Get
Set(value As Object)
CustomerBindingSource.DataSource = value
End Set
End Property
End Class
ノート:
私は設計時のバインディングを使用しているため、関連するイベントが自動的に処理されることが期待されます。
私のメインフォームには、ユーザーコントロールに詳細ビューがある顧客のリストがあります。
メインフォームのリストに移動すると、最初の顧客にとどまる瞬間にユーザーコントロールの詳細を更新したいですか?
ありがとう
ロブ