public override void CalculateRepeatWithPage(RPLWriter rplWriter, PageContext pageContext, PageItem[] siblings) { base.AdjustOriginFromItemsAbove(siblings, null); ItemSizes itemSizes = null; if (base.ResolveItemHiddenState(rplWriter, null, pageContext, true, ref itemSizes)) { this.CalculateHiddenItemRenderSize(pageContext, true); } else { AspNetCore.ReportingServices.OnDemandReportRendering.Rectangle rectangle = (AspNetCore.ReportingServices.OnDemandReportRendering.Rectangle)base.m_source; this.m_staticItem = base.CreateChildren(rectangle.ReportItemCollection, pageContext, rectangle.Width.ToMillimeters(), rectangle.Height.ToMillimeters(), rectangle.IsSimple); base.m_itemsCreated = true; if (itemSizes != null) { itemSizes.SetPaddings(base.m_itemPageSizes.PaddingRight, base.m_itemPageSizes.PaddingBottom); } if (base.m_children != null) { double num = base.m_itemPageSizes.PaddingBottom; PageItem pageItem = null; for (int i = 0; i < base.m_children.Length; i++) { pageItem = base.m_children[i]; if (pageItem != null) { pageItem.CalculateRepeatWithPage(rplWriter, pageContext, base.m_children); num = Math.Max(num, pageItem.ItemPageSizes.Bottom + base.m_itemPageSizes.PaddingBottom); } } if (itemSizes != null) { base.ConsumeWhitespaceVertical(itemSizes, num, pageContext); } else { base.ConsumeWhitespaceVertical(base.m_itemPageSizes, num, pageContext); } } base.m_itemState = State.OnPage; this.CreateItemRenderSizes(itemSizes, pageContext, true); base.CalculateRepeatWithRenderSizes(pageContext); } }
internal void UpdateItem(PageItemHelper itemHelper, RPLWriter rplWriter, PageContext pageContext) { if (itemHelper != null) { PageItemRepeatWithHelper pageItemRepeatWithHelper = itemHelper as PageItemRepeatWithHelper; RSTrace.RenderingTracer.Assert(pageItemRepeatWithHelper != null, "This should be a RepeatWith"); m_relativeTop = pageItemRepeatWithHelper.RelativeTop; m_relativeBottom = pageItemRepeatWithHelper.RelativeBottom; m_relativeTopToBottom = pageItemRepeatWithHelper.RelativeTopToBottom; m_dataRegionIndex = pageItemRepeatWithHelper.DataRegionIndex; if (pageItemRepeatWithHelper.RenderItemSize != null) { m_renderItemSize = pageItemRepeatWithHelper.RenderItemSize.GetNewItem(); } if (m_pageItem != null) { PageContext pageContext2 = new PageContext(pageContext, PageContext.PageContextFlags.FullOnPage, PageContext.IgnorePBReasonFlag.Repeated); m_pageItem.CalculateRepeatWithPage(rplWriter, pageContext2, null); } } }
internal override void CalculateRepeatWithPage(RPLWriter rplWriter, PageContext pageContext, PageItem[] siblings) { AdjustOriginFromItemsAbove(siblings, null); ItemSizes contentSize = null; if (ResolveItemHiddenState(rplWriter, null, pageContext, createForRepeat: true, ref contentSize)) { CalculateHiddenItemRenderSize(pageContext, createForRepeat: true); return; } Microsoft.ReportingServices.OnDemandReportRendering.Rectangle rectangle = (Microsoft.ReportingServices.OnDemandReportRendering.Rectangle)m_source; m_staticItem = CreateChildren(rectangle.ReportItemCollection, pageContext, rectangle.Width.ToMillimeters(), rectangle.Height.ToMillimeters(), rectangle.IsSimple); m_itemsCreated = true; contentSize?.SetPaddings(m_itemPageSizes.PaddingRight, m_itemPageSizes.PaddingBottom); if (m_children != null) { double num = m_itemPageSizes.PaddingBottom; PageItem pageItem = null; for (int i = 0; i < m_children.Length; i++) { pageItem = m_children[i]; if (pageItem != null) { pageItem.CalculateRepeatWithPage(rplWriter, pageContext, m_children); num = Math.Max(num, pageItem.ItemPageSizes.Bottom + m_itemPageSizes.PaddingBottom); } } if (contentSize != null) { ConsumeWhitespaceVertical(contentSize, num, pageContext); } else { ConsumeWhitespaceVertical(m_itemPageSizes, num, pageContext); } } m_itemState = State.OnPage; CreateItemRenderSizes(contentSize, pageContext, createForRepeat: true); CalculateRepeatWithRenderSizes(pageContext); }