コード例 #1
0
        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));
        }