internal void CalculatePropagatedFlags(out bool groupPageBreakAtStart, out bool groupPageBreakAtEnd) { if (SubGroup == null) { groupPageBreakAtStart = m_grouping.PageBreakAtStart; groupPageBreakAtEnd = m_grouping.PageBreakAtEnd; return; } SubGroup.CalculatePropagatedFlags(out groupPageBreakAtStart, out groupPageBreakAtEnd); groupPageBreakAtStart = (groupPageBreakAtStart || m_grouping.PageBreakAtStart); groupPageBreakAtEnd = (groupPageBreakAtEnd || m_grouping.PageBreakAtEnd); bool flag = true; if (SubGroup.HeaderRows != null) { flag = SubGroup.HeaderRepeatOnNewPage; } m_propagatedPageBreakAtStart = (SubGroup.Grouping.PageBreakAtStart || (SubGroup.PropagatedPageBreakAtStart && flag)); flag = true; if (SubGroup.FooterRows != null) { flag = SubGroup.FooterRepeatOnNewPage; } m_propagatedPageBreakAtEnd = (SubGroup.Grouping.PageBreakAtEnd || (SubGroup.PropagatedPageBreakAtEnd && flag)); }