I've gone through the other answers for this kind of question, nothing has really worked well so far. 

I have a `foreach` loop that should add the the row from the source `datagridview` to the destination `datagridview` then remove that row from the source. 

The invalid operation exception is: `Row provided already belongs to a DataGridView control.`

I couldn't get `...Rows.Copy()` to work either. Any ideas?

```
foreach (DataGridViewRow selRow in fromDataGridView.SelectedRows)
{
    toDataGridView.Rows.Add(selRow);
    fromDataGridView.Rows.Remove(selRow);
}

```