Here is my code to copy the selected Rows from Datagridview1 to Datagridview2
Try
Dim selectedRows As List(Of DataGridViewRow) = (From row In dgvShow.Rows.Cast(Of DataGridViewRow)() Where Convert.ToBoolean(row.Cells("checkBoxColumn").Value) = True).ToList()
If selectedRows.Count > 0 Then
If DataGridView2.Columns.Count < 0 Then
For Each c As DataGridViewColumn In dgvShow.Columns
DataGridView2.Columns.Add(TryCast(c.Clone(), DataGridViewColumn))
Next
End If
For Each r As DataGridViewRow In selectedRows
Dim index As Integer = DataGridView2.Rows.Add(TryCast(r.Clone(), DataGridViewRow))
For Each o As DataGridViewCell In r.Cells
DataGridView2.Rows(index).Cells(o.ColumnIndex).Value = o.Value
r.Cells(0).Value = False
Next
Next
End If
Catch ex As Exception
MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1)
End Try