public void PrepareForSorting(ReportProcessing.ProcessingContext processingContext)
 {
     Global.Tracer.Assert(!this.m_processed, "(!m_processed)");
     if (this.m_eventTarget != null && this.m_sortFilterExpressionScopeObjects != null)
     {
         processingContext.UserSortFilterContext.CurrentSortFilterEventSource = this.m_eventSource;
         for (int i = 0; i < this.m_sortFilterExpressionScopeObjects.Count; i++)
         {
             SortFilterExpressionScopeObj sortFilterExpressionScopeObj = (SortFilterExpressionScopeObj)this.m_sortFilterExpressionScopeObjects[i];
             sortFilterExpressionScopeObj.SortSEScopes(processingContext, this.m_eventSource);
         }
         GroupingList groupsInSortTarget = this.m_eventSource.UserSort.GroupsInSortTarget;
         if (groupsInSortTarget != null && 0 < groupsInSortTarget.Count)
         {
             this.m_groupExpressionsInSortTarget = new ReportProcessing.RuntimeExpressionInfoList();
             for (int j = 0; j < groupsInSortTarget.Count; j++)
             {
                 Grouping grouping = groupsInSortTarget[j];
                 for (int k = 0; k < grouping.GroupExpressions.Count; k++)
                 {
                     this.m_groupExpressionsInSortTarget.Add(new ReportProcessing.RuntimeExpressionInfo(grouping.GroupExpressions, grouping.ExprHost, null, k));
                 }
             }
         }
         this.CollectSortOrders();
     }
 }
        internal void RegisterSortFilterExpressionScope(ref int containerSortFilterExprScopeIndex, ReportProcessing.RuntimeDataRegionObj scopeObj, VariantList[] scopeValues, int sortFilterInfoIndex)
        {
            if (m_eventTarget != null && !m_targetSortFilterInfoAdded)
            {
                m_eventTarget.AddSortInfoIndex(sortFilterInfoIndex, this);
            }
            SortFilterExpressionScopeObj sortFilterExpressionScopeObj;

            if (-1 != containerSortFilterExprScopeIndex)
            {
                sortFilterExpressionScopeObj = (SortFilterExpressionScopeObj)m_sortFilterExpressionScopeObjects[containerSortFilterExprScopeIndex];
            }
            else
            {
                if (m_sortFilterExpressionScopeObjects == null)
                {
                    m_sortFilterExpressionScopeObjects = new ArrayList();
                }
                containerSortFilterExprScopeIndex = m_sortFilterExpressionScopeObjects.Count;
                sortFilterExpressionScopeObj      = new SortFilterExpressionScopeObj(this);
                m_sortFilterExpressionScopeObjects.Add(sortFilterExpressionScopeObj);
            }
            sortFilterExpressionScopeObj.RegisterScopeInstance(scopeObj, scopeValues);
        }
 internal SortExpressionScopeInstanceHolder(SortFilterExpressionScopeObj owner)
 {
     m_owner = owner;
     m_scopeInstanceIndices = new IntList();
 }
 public SortExpressionScopeInstanceHolder(SortFilterExpressionScopeObj owner)
 {
     this.m_owner = owner;
     this.m_scopeInstanceIndices = new IntList();
 }