How do I print a range of rows instead of the entire grid? How can I specify the page breaks?

You have to select the rows first and then print the range of selected records.

If you do not want this, you need to override the OnBeginPrinting() method, copy the original code to your derived class and modify it the way so that it meets your needs.  The page breaks are stored in the arrays m_awPageFirstRow and m_awPageFirstCol.