private void PageInit() { this.m_processingContext.ReportObjectModel.GlobalsImpl.SetPageNumbers(base.m_currentPageNumber, base.m_totalPages); this.m_processingContext.ReportObjectModel.ReportItemsImpl = new ReportItemsImpl(); this.m_processingContext.ReportObjectModel.AggregatesImpl = new AggregatesImpl(this.m_processingContext.ReportRuntime); if (this.m_processingContext.ReportRuntime.ReportExprHost != null) { this.m_processingContext.RuntimeInitializeReportItemObjs(this.m_report.ReportItems, true, true); if (this.m_report.PageHeader != null) { if (this.m_processingContext.ReportRuntime.ReportExprHost != null) { this.m_report.PageHeader.SetExprHost(this.m_processingContext.ReportRuntime.ReportExprHost, this.m_processingContext.ReportObjectModel); } this.m_processingContext.RuntimeInitializeReportItemObjs(this.m_report.PageHeader.ReportItems, false, false); } if (this.m_report.PageFooter != null) { if (this.m_processingContext.ReportRuntime.ReportExprHost != null) { this.m_report.PageFooter.SetExprHost(this.m_processingContext.ReportRuntime.ReportExprHost, this.m_processingContext.ReportObjectModel); } this.m_processingContext.RuntimeInitializeReportItemObjs(this.m_report.PageFooter.ReportItems, false, false); } } this.m_aggregates = new AggregatesImpl(this.m_processingContext.ReportRuntime); this.m_aggregatesOverReportItems = new Hashtable(); this.m_processingContext.ReportObjectModel.ReportItemsImpl.SpecialMode = true; if (this.m_report.PageAggregates != null) { for (int i = 0; i < this.m_report.PageAggregates.Count; i++) { DataAggregateInfo dataAggregateInfo = this.m_report.PageAggregates[i]; dataAggregateInfo.ExprHostInitialized = false; DataAggregateObj dataAggregateObj = new DataAggregateObj(dataAggregateInfo, this.m_processingContext); object[] array = default(object[]); DataFieldStatus dataFieldStatus = default(DataFieldStatus); dataAggregateObj.EvaluateParameters(out array, out dataFieldStatus); string specialModeIndex = this.m_processingContext.ReportObjectModel.ReportItemsImpl.GetSpecialModeIndex(); if (specialModeIndex == null) { this.m_aggregates.Add(dataAggregateObj); } else { AggregatesImpl aggregatesImpl = (AggregatesImpl)this.m_aggregatesOverReportItems[specialModeIndex]; if (aggregatesImpl == null) { aggregatesImpl = new AggregatesImpl(this.m_processingContext.ReportRuntime); this.m_aggregatesOverReportItems.Add(specialModeIndex, aggregatesImpl); } aggregatesImpl.Add(dataAggregateObj); } dataAggregateObj.Init(); } } this.m_processingContext.ReportObjectModel.ReportItemsImpl.SpecialMode = false; }
private void PageInit() { m_processingContext.ReportObjectModel.GlobalsImpl.SetPageNumbers(m_currentPageNumber, m_totalPages); m_processingContext.ReportObjectModel.ReportItemsImpl = new ReportItemsImpl(); m_processingContext.ReportObjectModel.AggregatesImpl = new AggregatesImpl(m_processingContext.ReportRuntime); if (m_processingContext.ReportRuntime.ReportExprHost != null) { m_processingContext.RuntimeInitializeReportItemObjs(m_report.ReportItems, traverseDataRegions: true, setValue: true); if (m_report.PageHeader != null) { if (m_processingContext.ReportRuntime.ReportExprHost != null) { m_report.PageHeader.SetExprHost(m_processingContext.ReportRuntime.ReportExprHost, m_processingContext.ReportObjectModel); } m_processingContext.RuntimeInitializeReportItemObjs(m_report.PageHeader.ReportItems, traverseDataRegions: false, setValue: false); } if (m_report.PageFooter != null) { if (m_processingContext.ReportRuntime.ReportExprHost != null) { m_report.PageFooter.SetExprHost(m_processingContext.ReportRuntime.ReportExprHost, m_processingContext.ReportObjectModel); } m_processingContext.RuntimeInitializeReportItemObjs(m_report.PageFooter.ReportItems, traverseDataRegions: false, setValue: false); } } m_aggregates = new AggregatesImpl(m_processingContext.ReportRuntime); m_aggregatesOverReportItems = new Hashtable(); m_processingContext.ReportObjectModel.ReportItemsImpl.SpecialMode = true; if (m_report.PageAggregates != null) { for (int i = 0; i < m_report.PageAggregates.Count; i++) { DataAggregateInfo dataAggregateInfo = m_report.PageAggregates[i]; dataAggregateInfo.ExprHostInitialized = false; DataAggregateObj dataAggregateObj = new DataAggregateObj(dataAggregateInfo, m_processingContext); dataAggregateObj.EvaluateParameters(out object[] _, out DataFieldStatus _); string specialModeIndex = m_processingContext.ReportObjectModel.ReportItemsImpl.GetSpecialModeIndex(); if (specialModeIndex == null) { m_aggregates.Add(dataAggregateObj); } else { AggregatesImpl aggregatesImpl = (AggregatesImpl)m_aggregatesOverReportItems[specialModeIndex]; if (aggregatesImpl == null) { aggregatesImpl = new AggregatesImpl(m_processingContext.ReportRuntime); m_aggregatesOverReportItems.Add(specialModeIndex, aggregatesImpl); } aggregatesImpl.Add(dataAggregateObj); } dataAggregateObj.Init(); } } m_processingContext.ReportObjectModel.ReportItemsImpl.SpecialMode = false; }