Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
 }