dotnetpro.WPF.TableReport.ReportPresenter.CalculateRowsOnPage C# (CSharp) Method

CalculateRowsOnPage() private method

private CalculateRowsOnPage ( int &RowsOnPage, PageDefinition def ) : int
RowsOnPage int
def PageDefinition
return int
        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;
        }