Example #1
0
 void IHierarchyObj.Traverse(ProcessingStages operation, ITraversalContext traversalContext)
 {
     if (m_sortHierarchyStruct != null)
     {
         bool ascending = true;
         RuntimeSortFilterEventInfo runtimeSortFilterEventInfo = m_sortHierarchyStruct.SortInfo.Value();
         if (runtimeSortFilterEventInfo.EventSource.UserSort.SortExpressionScope == null)
         {
             ascending = runtimeSortFilterEventInfo.SortDirection;
         }
         m_sortHierarchyStruct.SortTree.Traverse(operation, ascending, traversalContext);
     }
     if (m_dataHolder != null)
     {
         using (m_dataHolder.PinValue())
         {
             m_dataHolder.Value().Traverse(operation, traversalContext);
         }
     }
     if (m_dataRowHolder != null)
     {
         using (m_hierarchyRoot.PinValue())
         {
             m_dataRowHolder.Traverse(operation, traversalContext, m_hierarchyRoot.Value());
         }
     }
 }
Example #2
0
 void IHierarchyObj.Traverse(ProcessingStages operation, ITraversalContext traversalContext)
 {
     if (m_dataRowHolder != null)
     {
         m_dataRowHolder.Traverse(operation, traversalContext, this);
     }
     else
     {
         m_sortTree.Traverse(operation, m_sortExpression.Direction, traversalContext);
     }
 }