Jos datasetin taulun luokassa muutetaan usean rivin arvoja, laukeaa formilla BindingSourcen ListChanged eventti tarpeettomasti joka muutoksen jälkeen.
Loin taulun luokkaan eventin;
Partial Public Class DataTable
Public Event EditingStateChanged(Byval State as Boolean)
Private Sub Editing()
RaiseEvent EditingStateChanged(True)
'Muokataan rivejä
RaiseEvent EditingStateChanged(False)
End SubFormilla sitten
Private Sub Table_EditingStateChanged(Byval State as Boolean) Handles DataSet.Table.EditingStateChanged
If State = True Then
BindingSource.RaiseListChangedEvents = False
Else
BindingSource.RaiseListChangedEvents = True
BindingSource.ResetBindings(False)
End If
End SubToimii, mutta mietin vain, että mahtaako olla paras tapa toteuttaa tuo?
Miten te kokeneemma koodarit tuo tekisitte? Ehkä tuohon on jokin valmis tapa..
Ok, näyttäisi että seuraava ajaa saman asian;
'Taulussa
Partial Public Class DataTable
Private Sub Editing()
Me.BeginInit
'Muokataan rivejä
Me.EndInit
End Sub'Formilla
Private Sub BindingSource_ListChanged(...) Handles BindingSource.ListChanged
If DataSet.DataTable.IsInitialized Then
'Tee jotain
End If
End Sub
Private Sub DataTable_Initialized(...) Handles DataSet.DataTable.Initialized
BindingSource.ResetBindings(False)
End SubAihe on jo aika vanha, joten et voi enää vastata siihen.