private int CalculateRowsOnPage(ref int RowsOnPage, PageDefinition def)
{
int RowsOnFirstPage = (int)Math.Ceiling((def.ContentSize.Height - def.HeaderHeight - def.FooterHeight) / 9.6 * (8 / Configuration.FontSize));
if (HasRowLines)
RowsOnFirstPage = (int)(RowsOnFirstPage * .9);
RowsOnPage = (int)Math.Ceiling((def.ContentSize.Height - def.HeaderHeight - def.FooterHeight) / 9.6 * (8 / Configuration.FontSize));
if (HasRowLines)
RowsOnPage = (int)(RowsOnPage * .9);
int totalRows = oData.Rows.Count;
totalRows -= RowsOnFirstPage;
if (totalRows > 0)
{
Double PagesNeeded = (Double)totalRows / (Double)RowsOnPage;
if ((int)PagesNeeded == PagesNeeded)
maxPages = (int)PagesNeeded + 1;
else
maxPages = (int)Math.Round(PagesNeeded + .5) + 1;
}
else
maxPages = 1;
return RowsOnFirstPage;
}