Hallo NG
Ich habe ein einfaches UserControl erstellt mit einer TextBox drin. Wenn ich nun dieses Usercontrol an eine BindingManagerBase binde, so erhalte ich immer bei der Abfrage ds.HasChanges true zurück obwohl keine Aenderungen gemacht wurden.
Wo liegt der Fehler?
Appikation:
<PRE>
Dim ds As New DataSet("Adresse")
Dim dt As DataTable
Dim dv As DataView
Dim bm As BindingManagerBase
dt = ds.Tables.Item("Adresse")
dv = ds.DefaultViewManager.CreateDataView(dt)
bm = Me.BindingContext(dv)
kdUserControl.DataBindings.Add("ucText1",dv, "strName1")
</PRE>
Vor dem Update der Daten:
->Hier bekomme ich noch ds.HasChanges = false
bmAdresse.EndCurrentEdit()
-> Hier bekomme ich true
<PRE>
If ds.HasChanges Then
update.....
endif
</PRE>
UserControl:
<PRE>
Public Class kdUserControl
Inherits System.Windows.Forms.UserControl
#Region " Vom Windows Form Designer generierter Code "
Public Event TextBox1Changed As EventHandler
Public Property ucText1() As String
Get
Return Me.TextBox1.Text
End Get
Set(ByVal Value As String)
Me.TextBox1.Text = Value
End Set
End Property
Public Property DataChanged() As Boolean
Get
Return TextBox1.Modified
End Get
Set(ByVal Value As Boolean)
TextBox1.Modified = Value
End Set
End Property
Private Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
RaiseEvent TextBox1Changed(sender, e)
End Sub
End Class
<PRE>
Danke Robert
Ich habe ein einfaches UserControl erstellt mit einer TextBox drin. Wenn ich nun dieses Usercontrol an eine BindingManagerBase binde, so erhalte ich immer bei der Abfrage ds.HasChanges true zurück obwohl keine Aenderungen gemacht wurden.
Wo liegt der Fehler?
Appikation:
<PRE>
Dim ds As New DataSet("Adresse")
Dim dt As DataTable
Dim dv As DataView
Dim bm As BindingManagerBase
dt = ds.Tables.Item("Adresse")
dv = ds.DefaultViewManager.CreateDataView(dt)
bm = Me.BindingContext(dv)
kdUserControl.DataBindings.Add("ucText1",dv, "strName1")
</PRE>
Vor dem Update der Daten:
->Hier bekomme ich noch ds.HasChanges = false
bmAdresse.EndCurrentEdit()
-> Hier bekomme ich true
<PRE>
If ds.HasChanges Then
update.....
endif
</PRE>
UserControl:
<PRE>
Public Class kdUserControl
Inherits System.Windows.Forms.UserControl
#Region " Vom Windows Form Designer generierter Code "
Public Event TextBox1Changed As EventHandler
Public Property ucText1() As String
Get
Return Me.TextBox1.Text
End Get
Set(ByVal Value As String)
Me.TextBox1.Text = Value
End Set
End Property
Public Property DataChanged() As Boolean
Get
Return TextBox1.Modified
End Get
Set(ByVal Value As Boolean)
TextBox1.Modified = Value
End Set
End Property
Private Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
RaiseEvent TextBox1Changed(sender, e)
End Sub
End Class
<PRE>
Danke Robert