Allora: ho creato un nuovo progetto con solo una gridview per le gare. L'unica differenza con l'altro progetto è che qui c'è anche il navigator mentre nell'altro l'avevo tolto perchè non lo voglio.
Posto il codice (tanto è cortissimo)
Public Class Form1
Private Sub GareBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GareBindingNavigatorSaveItem.Click
Me.Validate()
Me.GareBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.GolfDataSet)
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: This line of code loads data into the 'GolfDataSet.Gare' table. You can move, or remove it, as needed.
Me.GareTableAdapter.Fill(Me.GolfDataSet.Gare)
End Sub
Private Sub GareDataGridView_UserDeletingRow(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewRowCancelEventArgs) Handles GareDataGridView.UserDeletingRow
GareTableAdapter.Update(GolfDataSet)
MsgBox("ok")
End Sub
End Class
Ho fatto vari test:
1) seleziono una riga -> premo canc -> la riga scompare -> chiudo e riapro l'applicazione -> la riga c'è ancora
2) seleziono una riga -> premo canc -> seleziono un'altra riga -> premo canc -> chiudo e riapro -> è sparita solo la prima riga che avevo cancellato mentre la seconda c'è ancora
Com'è possibile?
PS. Ho fatto la prova e succede la stessa cosa anche nell'altro!
Ho notato però che cliccando sull'icona "salva" del navigator le modifiche vengono salvate perfettamente. Quindi devo per forza usare quel codice che mi ha già messo lui in gareBindingNavigatorSaveItem_click?