You can make the DataGrid itself unrepsonsive to a Delete with
Dim cm As CurrencyManager = CType(Me.BindingContext(DataGrid.DataSource, DataGrid.DataMember), CurrencyManager)
CType(cm.List, DataView).AllowDelete = False
I found that in the documentation a long time ago and use it whenever I...