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); } }
void IDataRowSortOwner.DataRowSortTraverse() { try { ITraversalContext traversalContext = new DataRowSortOwnerTraversalContext(this); m_sortedDataRowTree.Traverse(ProcessingStages.Grouping, m_dataRowSortExpression.Direction, traversalContext); } finally { m_inDataRowSortPhase = false; m_sortedDataRowTree.Dispose(); m_sortedDataRowTree = null; m_dataRowSortExpression = null; } }
internal override void Traverse(ProcessingStages operation, bool ascending, ITraversalContext traversalContext) { m_tree.Traverse(operation, ascending, traversalContext); }