Ich habe unter VB 2005 sowhl die Datatable, Dataview als auch die Bindingsource-Objekte in eine eigene Klasse gekapselt. Alle Methoden und Eigenschaften sind mit shared deklariert, so dass eine Instanzierung eines Objektes für diese Klasse nicht notwedig ist. Wenn ich allerdings das Bindingsource-Objekt an ein Datagridview und an einen Bindingnavigator binde findet keine Synchronisation statt. Sofern ich den Code auf die herkömmliche Weise ohne eine Klasse integriere klappt es einwandfrei. Irgendwelche Vorschläge ? Hier die Methode der Binding Source aus der Klasse:
Public Shared Function bs_vorgang_erstellen() As BindingSource
Try
_sql_string = "Select * FROM dbo.tbl_Vorgang"
da_1 = New SqlClient.SqlDataAdapter(_sql_string, gcnn2)
Dim Cb As New SqlCommandBuilder(da_1)
dt_1 = New DataTable("Vorgang")
da_1.Fill(dt_1)
bs_1 = New BindingSource
bs_1.DataSource = dv_1
Return bs_1
Catch ex As SqlException
Throw New SystemException(ex.Message)
Catch ex As SystemException
Throw New SystemException(ex.Message)
End Try
End Function
Public Shared Function bs_vorgang_erstellen() As BindingSource
Try
_sql_string = "Select * FROM dbo.tbl_Vorgang"
da_1 = New SqlClient.SqlDataAdapter(_sql_string, gcnn2)
Dim Cb As New SqlCommandBuilder(da_1)
dt_1 = New DataTable("Vorgang")
da_1.Fill(dt_1)
bs_1 = New BindingSource
bs_1.DataSource = dv_1
Return bs_1
Catch ex As SqlException
Throw New SystemException(ex.Message)
Catch ex As SystemException
Throw New SystemException(ex.Message)
End Try
End Function
Comment