I think you're missing BindingSource.EndEdit();
in my C# code I had a GridView but should work the same.
For update, I had:
private void LoadLookupTable()
{
this.eventLookupTableAdapter.Fill(this.configDBDataSet.EventLookup);
this.eventLookupBindingSource.DataSource = this.configDBDataSet.EventLookup;
}
private void UpdateTable()
{
this.eventLookupBindingSource.EndEdit();
int n = this.eventLookupTableAdapter.Update(this.configDBDataSet.EventLookup);
this.LoadLookupTable();
}
For add and delete I accessed DataSet.DataTable.Rows.