You need to make a loop on source gridview and then check each row and select which one you want to copy then with the help of 'Rows.Add' method we can add rows to destination gridview
see below snippet
DataGridViewRow row = new DataGridViewRow();
for (int i = 0; i < sourceGRD1.Rows.Count; i++)
{
row = (DataGridViewRow)sourceGRD1.Rows[i].Clone();
int intColIndex = 0;
foreach (DataGridViewCell cell in sourceGRD1.Rows[i].Cells)
{
row.Cells[intColIndex].Value = cell.Value;
intColIndex++;
}
destnationGRD1.Rows.Add(row);
}
destnationGRD1.AllowUserToAddRows = false;
destnationGRD1.Refresh();