devo aggiornare un dataset collegato in binding ad una griglia

ho provato a fare l'update negli gli eventi ColumnChanging e ColumnChanged del dataSet
ma non viene applicato nessun cambiamento
se l'update viene fatto alla pressione di un pulsante salva(succesivamente alla modifica)
le variazioni vengono aportate al db correttamente

mi chiedo che evento dovrei sfruttare per aggiornare i dati alla semplice modifica dei campi della

griglia, senza ricorrere ad un pulsante salva

posto un po di codice
codice:
        Dim myConnection As OleDbConnection = New OleDbConnection(strConnElab)
        myConnection.Open()

        myDa = New OleDbDataAdapter
        myDs = New DataSet
        


        'SELECT
        Dim mySelectCommand As OleDbCommand = New OleDbCommand

        strsql = "select idprog,cartella,nontrovate,targa,verbale,datainfra,spazio,"
        strsql &= "importorichiesto,posizione,pagare,disctot,discparz,codpagamento,brand,ente from 

CartelleProcessate"
        strsql &= " where cartella='" & ComboBox1.Text & "'"

        mySelectCommand.CommandText = strsql
        mySelectCommand.Connection = myConnection


        'UPDATE
        Dim myUpdateCommand As OleDbCommand = New OleDbCommand()

        strsql = "UPDATE CartelleProcessate SET "
        strsql &= "DiscParz=?,"
        strsql &= "DiscTot=?,"
        strsql &= "pagare=?"
        strsql &= " WHERE idProg=?"

        myUpdateCommand.CommandText = strsql
        myUpdateCommand.Connection = myConnection

        myUpdateCommand.CommandType = CommandType.Text
        myUpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("DiscParz", 

System.Data.OleDb.OleDbType.Boolean, 0, System.Data.ParameterDirection.Input, CType(0, Byte), 

CType(0, Byte), "DiscParz", System.Data.DataRowVersion.Current, False, Nothing))
        myUpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("DiscTot", 

System.Data.OleDb.OleDbType.Boolean, 0, System.Data.ParameterDirection.Input, CType(0, Byte), 

CType(0, Byte), "DiscTot", System.Data.DataRowVersion.Current, False, Nothing))
        myUpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("Pagare", 

System.Data.OleDb.OleDbType.Boolean, 0, System.Data.ParameterDirection.Input, CType(0, Byte), 

CType(0, Byte), "Pagare", System.Data.DataRowVersion.Current, False, Nothing))
        myUpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("idProg", 

System.Data.OleDb.OleDbType.BigInt, 0, System.Data.ParameterDirection.Input, CType(0, Byte), 

CType(0, Byte), "idProg", System.Data.DataRowVersion.Original, False, Nothing))

        'aggiungo i command al dataset
        myDa.SelectCommand = mySelectCommand
        myDa.UpdateCommand = myUpdateCommand

        myDa.Fill(myDs, "CartelleProcessate")  'aggiunto il nome della tabella

        '========================================================================
        'abilito l'evento ColumnChanging per validare i dati  'li vado a salvare
        AddHandler myDs.Tables("CartelleProcessate").ColumnChanging, AddressOf 

dtgFlag_ColumnChanging
        '========================================================================

        dtgFlag.DataSource = myDs.Tables(0)


codice:
 'GESTIORE DELL'EVENTO COLUMNCHANGING PER VALIDAZIONE DEI DATI
    Private Sub dtgFlag_ColumnChanging(ByVal sender As Object, ByVal e As 

DataColumnChangeEventArgs)

	'VALIDAZIONE DEI DATI INSERITI
	'..........
	'......
	'...
		
	'AGGIORNAMENTO
        myDa.Update(myDs, "CartelleProcessate")  '<-- NON FUNZIONA 


    End Sub
l'istruzione myDa.Update(myDs, "CartelleProcessate") non funziona ne in questo evento qui sopra ne

le ColumnChanged

ma se lo richiamo alla pressione di un pulsate l'update aggiorna correttamente i dati

forse in quegli eventi la le proprieta dei parameter non sono ancora state valorizzate o mappate

con i nuovi valori digitati sulla griglia?
che evento usare che sia "succesivo" a questi?