private void CalculatePropagatedPageBreak()
        {
            Microsoft.ReportingServices.ReportRendering.DataRegion dataRegion = (Microsoft.ReportingServices.ReportRendering.DataRegion)m_owner.RenderReportItem;
            bool thisOrAnscestorHasToggle       = dataRegion.SharedHidden == Microsoft.ReportingServices.ReportRendering.SharedHiddenState.Sometimes;
            PageBreakLocation pageBreakLocation = PageBreakHelper.GetPageBreakLocation(dataRegion.PageBreakAtStart, dataRegion.PageBreakAtEnd);

            if (m_members != null && m_members.Count > 0)
            {
                pageBreakLocation = PageBreakHelper.MergePageBreakLocations(CalculatePropagatedPageBreak(m_members, thisOrAnscestorHasToggle, OwnerTablix.SnapshotTablixType == DataRegion.Type.Table), pageBreakLocation);
            }
            OwnerTablix.SetPageBreakLocation(pageBreakLocation);
        }
示例#2
0
        private bool SearchRepeatedSiblings(DataRegion dataRegion, SearchContext searchContext)
        {
            if (dataRegion == null)
            {
                return(false);
            }
            bool flag = false;

            int[] repeatSiblings = dataRegion.GetRepeatSiblings();
            if (repeatSiblings != null)
            {
                int           num            = 0;
                SearchContext searchContext2 = new SearchContext(searchContext);
                int           num2           = 0;
                while (!flag && num2 < repeatSiblings.Length)
                {
                    num  = repeatSiblings[num2];
                    flag = this[num].Search(searchContext2);
                    num2++;
                }
            }
            return(flag);
        }
示例#3
0
 internal Group(DataRegion owner, Grouping groupingDef, Visibility visibilityDef)
 {
     m_ownerItem     = owner;
     m_groupingDef   = groupingDef;
     m_visibilityDef = visibilityDef;
 }