private void CreateInstances() { this.m_odpContext.ReportRuntime.CurrentScope = this.m_dataSetObj; if (this.m_hasSortFilterInfo && this.m_odpContext.RuntimeSortFilterInfo != null) { if (this.m_odpContext.TopLevelContext.ReportRuntimeUserSortFilterInfo == null) { this.m_odpContext.TopLevelContext.ReportRuntimeUserSortFilterInfo = new List <IReference <RuntimeSortFilterEventInfo> >(); } this.m_odpContext.TopLevelContext.ReportRuntimeUserSortFilterInfo.AddRange(this.m_odpContext.RuntimeSortFilterInfo); } this.m_dataSetObj.CreateInstances(); if (this.m_odpContext.ReportDefinition.InScopeEventSources != null) { int count = this.m_odpContext.ReportDefinition.InScopeEventSources.Count; List <IInScopeEventSource> list = null; for (int i = 0; i < count; i++) { IInScopeEventSource inScopeEventSource = this.m_odpContext.ReportDefinition.InScopeEventSources[i]; if (inScopeEventSource.UserSort.DataSet == this.m_dataSet) { if (list == null) { list = new List <IInScopeEventSource>(count - i); } list.Add(inScopeEventSource); } } if (list != null) { UserSortFilterContext.ProcessEventSources(this.m_odpContext, this.m_dataSetObj, list); } } this.m_odpContext.ReportRuntime.CurrentScope = null; }
public void CreateInstances(DataRegionInstance dataRegionInstance) { base.m_dataRegionDef.ResetInstanceIndexes(); this.m_innerGroupsWithCellsForOuterPeerGroupProcessing = null; base.m_dataRegionDef.CurrentDataRegionInstance = dataRegionInstance; dataRegionInstance.StoreAggregates(base.m_odpContext, base.m_dataRegionDef.Aggregates); dataRegionInstance.StoreAggregates(base.m_odpContext, base.m_dataRegionDef.PostSortAggregates); dataRegionInstance.StoreAggregates(base.m_odpContext, base.m_dataRegionDef.RunningValues); if (base.m_dataRegionDef.DataScopeInfo != null) { DataScopeInfo dataScopeInfo = base.m_dataRegionDef.DataScopeInfo; dataRegionInstance.StoreAggregates(base.m_odpContext, dataScopeInfo.AggregatesOfAggregates); dataRegionInstance.StoreAggregates(base.m_odpContext, dataScopeInfo.PostSortAggregatesOfAggregates); dataRegionInstance.StoreAggregates(base.m_odpContext, dataScopeInfo.RunningValuesOfAggregates); } if (base.m_firstRow != null) { dataRegionInstance.FirstRowOffset = base.m_firstRow.StreamOffset; } base.m_dataRegionDef.ResetInstancePathCascade(); if (base.m_dataRegionDef.InScopeEventSources != null) { UserSortFilterContext.ProcessEventSources(base.m_odpContext, this, base.m_dataRegionDef.InScopeEventSources); } this.CreateDataRegionScopedInstance(dataRegionInstance); IReference <RuntimeMemberObj>[] array; IReference <RuntimeMemberObj>[] innerMembers; bool outerGroupings; if (base.DataRegionDef.ProcessingInnerGrouping == AspNetCore.ReportingServices.ReportIntermediateFormat.DataRegion.ProcessingInnerGroupings.Column) { array = this.m_outerGroupings; innerMembers = this.m_innerGroupings; outerGroupings = true; } else { array = this.m_innerGroupings; innerMembers = this.m_outerGroupings; outerGroupings = false; } IReference <RuntimeMemberObj>[] array2 = array; foreach (IReference <RuntimeMemberObj> reference in array2) { using (reference.PinValue()) { reference.Value().CreateInstances(base.SelfReference, base.m_odpContext, dataRegionInstance, outerGroupings, null, dataRegionInstance, innerMembers, null); } } base.m_dataRegionDef.ResetInstancePathCascade(); base.m_dataRegionDef.ResetInstanceIndexes(); }
protected override void CreateInstanceHeadingContents() { if (base.MemberDef.InScopeEventSources != null) { UserSortFilterContext.ProcessEventSources(base.m_odpContext, this, base.MemberDef.InScopeEventSources); } if (this.m_groupScopedItems != null) { List <AspNetCore.ReportingServices.ReportIntermediateFormat.ReportItem> groupScopedContents = this.GetGroupScopedContents(base.MemberDef); if (groupScopedContents != null) { this.m_groupScopedItems.CreateInstances(base.m_memberInstance, base.m_odpContext, base.m_selfReference, groupScopedContents); } } }