Cómo imprimir valores desde un control DataGridView

Tengo una aplicación que tiene unaDataGridView control, que contiene los datos que deseo imprimir cuando se presiona el botón "imprimir".

Hasta ahora tengo el botón "imprimir" funcionando, pero cuando imprimo en la aplicación, ¡la página sale en blanco!

¿Cómo edito mi código para permitir que se impriman los datos?

public partial class frmViewBookings : Form
{
    private void btnClose_Click(object sender, EventArgs e)
    {
        Form3 mainpage = new Form3();
        mainpage.Show();
        this.Close();
    }

    private void frmViewBookings_Load(object sender, EventArgs e)
    {
        this.bookingTableAdapter.Fill(this.usersDataSet1.Booking);
    }

    private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
    {
        var myPaintArgs = new PaintEventArgs
        (
            e.Graphics,
            new Rectangle(new Point(0, 0), this.Size)
        );

        this.InvokePaint(dataGridView1, myPaintArgs);
    } 

    private void btnPrint_Click(object sender, EventArgs e)
    {
        printDocument1.Print();
    }
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta