List <int> IInScopeEventSource.GetPeerSortFilters(bool create) { EndUserSort userSort = ((IInScopeEventSource)this).UserSort; if (userSort == null) { return(null); } InScopeSortFilterHashtable inScopeSortFilterHashtable = null; List <int> list = null; if (((IInScopeEventSource)this).ContainingScopes == null || ((IInScopeEventSource)this).ContainingScopes.Count == 0 || ((IInScopeEventSource)this).IsSubReportTopLevelScope) { inScopeSortFilterHashtable = ((IInScopeEventSource)this).GetSortFiltersInScope(create, inDetail: false); } else { Grouping lastEntry = ((IInScopeEventSource)this).ContainingScopes.LastEntry; if (lastEntry == null) { inScopeSortFilterHashtable = ((IInScopeEventSource)this).GetSortFiltersInScope(create, inDetail: true); } else if (userSort.SortExpressionScope == null) { if (lastEntry.DetailSortFiltersInScope == null && create) { lastEntry.DetailSortFiltersInScope = new InScopeSortFilterHashtable(); } inScopeSortFilterHashtable = lastEntry.DetailSortFiltersInScope; } else { if (lastEntry.NonDetailSortFiltersInScope == null && create) { lastEntry.NonDetailSortFiltersInScope = new InScopeSortFilterHashtable(); } inScopeSortFilterHashtable = lastEntry.NonDetailSortFiltersInScope; } } if (inScopeSortFilterHashtable != null) { int num = (userSort.SortExpressionScope == null) ? userSort.SortTarget.ID : userSort.SortExpressionScope.ID; list = inScopeSortFilterHashtable[num]; if (list == null && create) { list = new List <int>(); inScopeSortFilterHashtable.Add(num, list); } } return(list); }
public object PublishClone(AutomaticSubtotalContext context) { EndUserSort endUserSort = (EndUserSort)MemberwiseClone(); if (m_sortExpression != null) { endUserSort.m_sortExpression = (ExpressionInfo)m_sortExpression.PublishClone(context); } if (m_sortExpressionScopeString != null) { endUserSort.m_sortExpressionScopeString = (string)m_sortExpressionScopeString.Clone(); } if (m_sortTargetString != null) { endUserSort.m_sortTargetString = (string)m_sortTargetString.Clone(); } if (m_sortTargetString != null || m_sortExpressionScopeString != null) { context.AddEndUserSort(endUserSort); } return(endUserSort); }
public override void Deserialize(IntermediateFormatReader reader) { base.Deserialize(reader); reader.RegisterDeclaration(m_Declaration); while (reader.NextMember()) { switch (reader.CurrentMember.MemberName) { case MemberName.Paragraphs: m_paragraphs = reader.ReadGenericListOfRIFObjects <Paragraph>(); break; case MemberName.Value: { TextRun orCreateSingleTextRun = GetOrCreateSingleTextRun(reader); ExpressionInfo expressionInfo = (ExpressionInfo)reader.ReadRIFObject(); m_hasValue = true; m_hasExpressionBasedValue = expressionInfo.IsExpression; orCreateSingleTextRun.Value = expressionInfo; if (m_styleClass != null) { orCreateSingleTextRun.Paragraph.StyleClass = new ParagraphFilteredStyle(m_styleClass); orCreateSingleTextRun.StyleClass = new TextRunFilteredStyle(m_styleClass); m_styleClass = new TextBoxFilteredStyle(m_styleClass); } break; } case MemberName.CanScrollVertically: m_canScrollVertically = reader.ReadBoolean(); break; case MemberName.CanGrow: m_canGrow = reader.ReadBoolean(); break; case MemberName.CanShrink: m_canShrink = reader.ReadBoolean(); break; case MemberName.HideDuplicates: m_hideDuplicates = reader.ReadString(); break; case MemberName.Action: m_action = (Action)reader.ReadRIFObject(); break; case MemberName.IsToggle: m_isToggle = reader.ReadBoolean(); break; case MemberName.InitialToggleState: m_initialToggleState = (ExpressionInfo)reader.ReadRIFObject(); break; case MemberName.ValueReferenced: m_valueReferenced = reader.ReadBoolean(); break; case MemberName.TextRunValueReferenced: m_textRunValueReferenced = reader.ReadBoolean(); break; case MemberName.RecursiveSender: m_recursiveSender = reader.ReadBoolean(); break; case MemberName.DataElementStyleAttribute: m_dataElementStyleAttribute = reader.ReadBoolean(); break; case MemberName.ContainingScopes: if (reader.ReadListOfReferencesNoResolution(this) == 0) { m_containingScopes = new GroupingList(); } break; case MemberName.UserSort: m_userSort = (EndUserSort)reader.ReadRIFObject(); break; case MemberName.IsTablixCellScope: m_isTablixCellScope = reader.ReadBoolean(); break; case MemberName.IsSubReportTopLevelScope: m_isSubReportTopLevelScope = reader.ReadBoolean(); break; case MemberName.DataType: GetOrCreateSingleTextRun(reader).DataType = (DataType)reader.ReadEnum(); break; case MemberName.KeepTogether: m_keepTogether = reader.ReadBoolean(); break; case MemberName.SequenceID: m_sequenceID = reader.ReadInt32(); break; case MemberName.RecursiveMember: m_recursiveMember = reader.ReadReference <TablixMember>(this); break; case MemberName.HasExpressionBasedValue: m_hasExpressionBasedValue = reader.ReadBoolean(); break; case MemberName.HasValue: m_hasValue = reader.ReadBoolean(); break; case MemberName.IsSimple: m_isSimple = reader.ReadBoolean(); break; case MemberName.HasNonRecursiveSender: m_hasNonRecursiveSender = reader.ReadBoolean(); break; default: Global.Tracer.Assert(condition: false); break; } } }
internal void AddEndUserSort(Microsoft.ReportingServices.ReportIntermediateFormat.EndUserSort endUserSort) { m_endUserSortWithTarget.Add(endUserSort); }