private void AddSortOrder(VariantList[] scopeValues, bool incrementCounter)
 {
     if (m_sortOrders == null)
     {
         m_sortOrders = new ScopeLookupTable();
     }
     if (scopeValues == null || scopeValues.Length == 0)
     {
         m_sortOrders.Add(m_eventSource.UserSort.GroupsInSortTarget, scopeValues, m_currentSortIndex);
     }
     else
     {
         int num = 0;
         for (int i = 0; i < scopeValues.Length; i++)
         {
             if (scopeValues[i] == null)
             {
                 num++;
             }
         }
         if (num >= m_nullScopeCount)
         {
             if (num > m_nullScopeCount)
             {
                 m_sortOrders.Clear();
                 m_nullScopeCount = num;
             }
             m_sortOrders.Add(m_eventSource.UserSort.GroupsInSortTarget, scopeValues, m_currentSortIndex);
         }
     }
     if (incrementCounter)
     {
         m_currentSortIndex++;
     }
 }
Esempio n. 2
0
 internal void AddDataSetUniqueName(VariantList[] scopeValues, int subReportUniqueName)
 {
     if (m_dataSetUniqueNameMap == null)
     {
         m_dataSetUniqueNameMap  = new ScopeLookupTable();
         m_saveDataSetUniqueName = true;
     }
     m_dataSetUniqueNameMap.Add(m_containingScopes, scopeValues, subReportUniqueName);
 }
 internal bool ProcessSorting(ReportProcessing.ProcessingContext processingContext)
 {
     Global.Tracer.Assert(!m_processed, "(!m_processed)");
     if (m_eventTarget == null)
     {
         return(false);
     }
     m_eventTarget.ProcessUserSort();
     m_sortOrders = null;
     return(true);
 }