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