public PageSection(IReportScope reportScope, IDefinitionPath parentDefinitionPath, bool isHeader, AspNetCore.ReportingServices.ReportIntermediateFormat.PageSection pageSectionDef, RenderingContext renderingContext)
     : base(reportScope, parentDefinitionPath, pageSectionDef, renderingContext)
 {
     this.m_isHeader = isHeader;
 }
示例#2
0
        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);
			}
		}