internal void RenderReportItem(RPLWriter rplWriter, string reportItemName) { Microsoft.ReportingServices.OnDemandReportRendering.ReportSection reportSection = null; ReportItem obj = FindReportItem(m_report, SplitReportItemPath(reportItemName), out reportSection) ?? throw new SelectiveRenderingCannotFindReportItemException(reportItemName); CustomReportItem criOwner = obj.CriOwner; if (criOwner != null) { criOwner.DynamicWidth = ReportSize.FromMillimeters(m_paginationSettings.PhysicalPageWidth); criOwner.DynamicHeight = ReportSize.FromMillimeters(m_paginationSettings.PhysicalPageHeight); } PageItem pageItem = PageItem.Create(obj, tablixCellParent: false, m_pageContext); pageItem.ItemPageSizes.Top = 0.0; pageItem.ItemPageSizes.Left = 0.0; pageItem.ItemPageSizes.Width = m_paginationSettings.PhysicalPageWidth; pageItem.ItemPageSizes.Height = m_paginationSettings.PhysicalPageHeight; ItemContext itemContext = new ItemContext(rplWriter, m_pageContext, m_report, reportSection); if (rplWriter.BinaryWriter != null) { ReportToRplStreamWriter.Write(pageItem, itemContext); } else { ReportToRplOmWriter.Write(pageItem, itemContext); } Done = true; }
protected void CreateChildren(ReportItemCollection childrenDef, PageContext pageContext) { if (childrenDef != null && childrenDef.Count != 0 && m_children == null) { double num = 0.0; double num2 = 0.0; m_children = new PageItem[childrenDef.Count + 1]; m_indexesLeftToRight = new int[childrenDef.Count + 1]; for (int i = 0; i < childrenDef.Count; i++) { ReportItem source = childrenDef[i]; m_children[i] = PageItem.Create(source, tablixCellParent: false, pageContext); m_indexesLeftToRight[i] = i; num = Math.Max(num, m_children[i].ItemPageSizes.Right); num2 = Math.Max(num2, m_children[i].ItemPageSizes.Bottom); } double num3 = 0.0; num3 = ((!pageContext.ConsumeWhitespace) ? Math.Max(num2, base.ItemPageSizes.Height) : num2); m_children[m_children.Length - 1] = new HiddenPageItem(num3, 0.0); m_indexesLeftToRight[m_children.Length - 1] = m_children.Length - 1; m_rightPadding = Math.Max(0.0, m_itemPageSizes.Width - num); m_definitionRightPadding = m_rightPadding; m_bottomPadding = Math.Max(0.0, m_itemPageSizes.Height - num2); Array.Sort(m_indexesLeftToRight, this); VerticalDependency(); HorizontalDependecy(); } }
public void RenderReportItem(RPLWriter rplWriter, string reportItemName) { AspNetCore.ReportingServices.OnDemandReportRendering.ReportSection reportSection = null; ReportItem reportItem = SelectiveRendering.FindReportItem(this.m_report, SelectiveRendering.SplitReportItemPath(reportItemName), out reportSection); if (reportItem == null) { throw new SelectiveRenderingCannotFindReportItemException(reportItemName); } CustomReportItem criOwner = reportItem.CriOwner; if (criOwner != null) { criOwner.DynamicWidth = ReportSize.FromMillimeters(this.m_paginationSettings.PhysicalPageWidth); criOwner.DynamicHeight = ReportSize.FromMillimeters(this.m_paginationSettings.PhysicalPageHeight); } PageItem pageItem = PageItem.Create(reportItem, false, this.m_pageContext); pageItem.ItemPageSizes.Top = 0.0; pageItem.ItemPageSizes.Left = 0.0; pageItem.ItemPageSizes.Width = this.m_paginationSettings.PhysicalPageWidth; pageItem.ItemPageSizes.Height = this.m_paginationSettings.PhysicalPageHeight; ItemContext itemContext = new ItemContext(rplWriter, this.m_pageContext, this.m_report, reportSection); if (rplWriter.BinaryWriter != null) { ReportToRplStreamWriter.Write(pageItem, itemContext); } else { ReportToRplOmWriter.Write(pageItem, itemContext); } this.Done = true; }