When I user clicks on a row header in a GridControl, you can delete the row using the KeyDown event.
Private Sub gridControl1_KeyDown(sender As Object, e As KeyEventArgs)
If e.KeyCode = Keys.Delete Then
Dim rangeList As GridRangeInfoList = gridControl1.Selections.GetSelectedRows(True, False)
Dim range As GridRangeInfo = rangeList.ActiveRange
If Not range.IsEmpty Then
Me.gridControl1.Rows.RemoveRange(range.Top, range.Bottom)
e.Handled = True
End If
End If
End Sub ''gridControl1_KeyDown
So, you do not really need to call Rows.MoveRange. But if you do use MoveRange from something, it should work OK for any cell type including comboboxes and push buttons provided you are not using the GridControl in a virtual manner. If you are using it in a virtual manner, you would need code in your external datasource that handles deleting or moving rows.