public PageSection(IReportScope reportScope, IDefinitionPath parentDefinitionPath, bool isHeader, AspNetCore.ReportingServices.ReportIntermediateFormat.PageSection pageSectionDef, RenderingContext renderingContext) : base(reportScope, parentDefinitionPath, pageSectionDef, renderingContext) { this.m_isHeader = isHeader; }
public override void Deserialize(IntermediateFormatReader reader) { base.Deserialize(reader); reader.RegisterDeclaration(Page.m_Declaration); while (reader.NextMember()) { switch (reader.CurrentMember.MemberName) { case MemberName.PageHeader: this.m_pageHeader = (PageSection)reader.ReadRIFObject(); break; case MemberName.PageFooter: this.m_pageFooter = (PageSection)reader.ReadRIFObject(); break; case MemberName.PageHeight: this.m_pageHeight = reader.ReadString(); break; case MemberName.PageHeightValue: this.m_pageHeightValue = reader.ReadDouble(); break; case MemberName.PageWidth: this.m_pageWidth = reader.ReadString(); break; case MemberName.PageWidthValue: this.m_pageWidthValue = reader.ReadDouble(); break; case MemberName.LeftMargin: this.m_leftMargin = reader.ReadString(); break; case MemberName.LeftMarginValue: this.m_leftMarginValue = reader.ReadDouble(); break; case MemberName.RightMargin: this.m_rightMargin = reader.ReadString(); break; case MemberName.RightMarginValue: this.m_rightMarginValue = reader.ReadDouble(); break; case MemberName.TopMargin: this.m_topMargin = reader.ReadString(); break; case MemberName.TopMarginValue: this.m_topMarginValue = reader.ReadDouble(); break; case MemberName.BottomMargin: this.m_bottomMargin = reader.ReadString(); break; case MemberName.BottomMarginValue: this.m_bottomMarginValue = reader.ReadDouble(); break; case MemberName.InteractiveHeight: this.m_interactiveHeight = reader.ReadString(); break; case MemberName.InteractiveHeightValue: this.m_interactiveHeightValue = reader.ReadDouble(); break; case MemberName.InteractiveWidth: this.m_interactiveWidth = reader.ReadString(); break; case MemberName.InteractiveWidthValue: this.m_interactiveWidthValue = reader.ReadDouble(); break; case MemberName.Columns: this.m_columns = reader.ReadInt32(); break; case MemberName.ColumnSpacing: this.m_columnSpacing = reader.ReadString(); break; case MemberName.ColumnSpacingValue: this.m_columnSpacingValue = reader.ReadDouble(); break; case MemberName.StyleClass: this.m_styleClass = (Style)reader.ReadRIFObject(); break; case MemberName.ExprHostID: this.m_exprHostID = reader.ReadInt32(); break; case MemberName.TextboxesInScope: this.m_textboxesInScope = reader.ReadByteArray(); break; case MemberName.VariablesInScope: this.m_variablesInScope = reader.ReadByteArray(); break; case MemberName.InScopeTextBoxes: this.m_inScopeTextBoxes = reader.ReadGenericListOfReferences <TextBox>(this); break; case MemberName.PageAggregates: this.m_pageAggregates = reader.ReadGenericListOfRIFObjects <DataAggregateInfo>(); break; default: Global.Tracer.Assert(false); break; } } }
private void PageInit(ReportSection section) { AspNetCore.ReportingServices.ReportProcessing.OnDemandReportObjectModel.ObjectModelImpl reportObjectModel = this.m_processingContext.ReportObjectModel; AspNetCore.ReportingServices.ReportProcessing.OnDemandReportObjectModel.AggregatesImpl aggregatesImpl = reportObjectModel.AggregatesImpl; Global.Tracer.Assert(section.BodyItemsForHeadFoot != null, "Missing cached BodyItemsForHeadFoot collection"); Global.Tracer.Assert(section.PageSectionItemsForHeadFoot != null, "Missing cached PageSectionItemsForHeadFoot collection"); section.BodyItemsForHeadFoot.ResetAll(default(AspNetCore.ReportingServices.RdlExpressions.VariantResult)); section.PageSectionItemsForHeadFoot.ResetAll(); reportObjectModel.GlobalsImpl.SetPageNumbers(base.m_currentPageNumber, base.m_totalPages, base.m_currentOverallPageNumber, base.m_overallTotalPages); reportObjectModel.GlobalsImpl.SetPageName(base.m_pageName); AspNetCore.ReportingServices.ReportIntermediateFormat.Report reportDef = base.m_romReport.ReportDef; AspNetCore.ReportingServices.ReportIntermediateFormat.ReportSection sectionDef = section.SectionDef; AspNetCore.ReportingServices.ReportIntermediateFormat.Page page = sectionDef.Page; section.PageAggregatesOverReportItems = new Dictionary<string, AspNetCore.ReportingServices.ReportProcessing.OnDemandReportObjectModel.AggregatesImpl>(); this.m_processingContext.ReportObjectModel.ReportItemsImpl.SpecialMode = true; if (page.PageAggregates != null) { for (int i = 0; i < page.PageAggregates.Count; i++) { AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateInfo dataAggregateInfo = page.PageAggregates[i]; aggregatesImpl.Remove(dataAggregateInfo); dataAggregateInfo.ExprHostInitialized = false; AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj dataAggregateObj = new AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj(dataAggregateInfo, this.m_processingContext); object[] array = default(object[]); DataFieldStatus dataFieldStatus = default(DataFieldStatus); dataAggregateObj.EvaluateParameters(out array, out dataFieldStatus); string specialModeIndex = reportObjectModel.ReportItemsImpl.GetSpecialModeIndex(); if (specialModeIndex == null) { aggregatesImpl.Add(dataAggregateObj); } else { AspNetCore.ReportingServices.ReportProcessing.OnDemandReportObjectModel.AggregatesImpl aggregatesImpl2 = default(AspNetCore.ReportingServices.ReportProcessing.OnDemandReportObjectModel.AggregatesImpl); if (!section.PageAggregatesOverReportItems.TryGetValue(specialModeIndex, out aggregatesImpl2)) { aggregatesImpl2 = new AspNetCore.ReportingServices.ReportProcessing.OnDemandReportObjectModel.AggregatesImpl(this.m_processingContext); section.PageAggregatesOverReportItems.Add(specialModeIndex, aggregatesImpl2); } aggregatesImpl2.Add(dataAggregateObj); this.m_reportItemToReportSection[specialModeIndex] = section; } dataAggregateObj.Init(); } } reportObjectModel.ReportItemsImpl.SpecialMode = false; AspNetCore.ReportingServices.ReportIntermediateFormat.PageSection rifObject = null; IReportScopeInstance romInstance = null; if (sectionDef.Page.PageHeader != null) { rifObject = sectionDef.Page.PageHeader; romInstance = section.Page.PageHeader.Instance.ReportScopeInstance; section.Page.PageHeader.SetNewContext(); } if (sectionDef.Page.PageFooter != null) { rifObject = sectionDef.Page.PageFooter; romInstance = section.Page.PageFooter.Instance.ReportScopeInstance; section.Page.PageFooter.SetNewContext(); } if (sectionDef != null) { this.m_processingContext.SetupContext(rifObject, romInstance); } }