internal bool SubtotalInInnerHeading(ref PivotHeading innerHeading, ref PivotHeading staticHeading)
 {
     SkipStaticHeading(ref innerHeading, ref staticHeading);
     if (innerHeading != null && innerHeading.Subtotal != null)
     {
         return(true);
     }
     return(false);
 }
 internal void CopyHeadingAggregates(PivotHeading heading)
 {
     if (heading != null)
     {
         heading.CopySubHeadingAggregates();
         CopyAggregates(heading.Aggregates, m_aggregates);
         CopyAggregates(heading.PostSortAggregates, m_postSortAggregates);
         CopyAggregates(heading.RecursiveAggregates, m_aggregates);
     }
 }
 internal void SkipStaticHeading(ref PivotHeading pivotHeading, ref PivotHeading staticHeading)
 {
     if (pivotHeading != null && pivotHeading.Grouping == null)
     {
         staticHeading = pivotHeading;
         pivotHeading  = (PivotHeading)pivotHeading.InnerHierarchy;
     }
     else
     {
         staticHeading = null;
     }
 }
        internal PivotHeading GetInnerStaticHeading()
        {
            PivotHeading pivotHeading = null;
            Pivot        pivot        = (Pivot)m_dataRegionDef;

            pivotHeading = ((!m_isColumn) ? pivot.PivotStaticRows : pivot.PivotStaticColumns);
            if (pivotHeading != null && pivotHeading.Level > m_level)
            {
                return(pivotHeading);
            }
            return(null);
        }
        internal PivotHeading GetOuterHeading(int level)
        {
            PivotHeading pivotHeading  = GetPivotHeading(outerHeading: true);
            PivotHeading staticHeading = null;

            for (int i = 0; i <= level; i++)
            {
                SkipStaticHeading(ref pivotHeading, ref staticHeading);
                if (pivotHeading != null && i < level)
                {
                    pivotHeading = (PivotHeading)pivotHeading.InnerHierarchy;
                }
            }
            return(pivotHeading);
        }
        internal Hashtable GetOuterScopeNames(int dynamicLevel)
        {
            Hashtable    hashtable    = new Hashtable();
            PivotHeading pivotHeading = GetPivotHeading(outerHeading: true);
            int          num          = 0;

            while (num <= dynamicLevel && pivotHeading != null)
            {
                if (pivotHeading.Grouping != null)
                {
                    hashtable.Add(pivotHeading.Grouping.Name, pivotHeading.Grouping);
                    num++;
                }
                pivotHeading = (PivotHeading)pivotHeading.InnerHierarchy;
            }
            return(hashtable);
        }
 internal void GetHeadingDefState(out PivotHeading outermostColumn, out bool outermostColumnSubtotal, out PivotHeading staticColumn, out PivotHeading outermostRow, out bool outermostRowSubtotal, out PivotHeading staticRow)
 {
     outermostRowSubtotal    = false;
     outermostColumnSubtotal = false;
     staticRow            = null;
     outermostRow         = PivotRows;
     outermostRowSubtotal = SubtotalInInnerHeading(ref outermostRow, ref staticRow);
     if (outermostRow == null)
     {
         outermostRowSubtotal = true;
     }
     staticColumn            = null;
     outermostColumn         = PivotColumns;
     outermostColumnSubtotal = SubtotalInInnerHeading(ref outermostColumn, ref staticColumn);
     if (outermostColumn == null)
     {
         outermostColumnSubtotal = true;
     }
 }