예제 #1
0
        void IHierarchyObj.NextRow(IHierarchyObj owner)
        {
            if (m_dataRowHolder != null)
            {
                m_dataRowHolder.NextRow(owner.OdpContext, owner.Depth);
                return;
            }
            object keyValue = ((IDataRowSortOwner)m_hierarchyRoot.Value()).EvaluateDataRowSortExpression(m_sortExpression);

            m_sortTree.NextRow(keyValue, this);
        }
예제 #2
0
 void IHierarchyObj.NextRow(IHierarchyObj owner)
 {
     if (m_dataHolder != null)
     {
         using (m_dataHolder.PinValue())
         {
             m_dataHolder.Value().NextRow();
         }
     }
     else if (m_sortHierarchyStruct != null)
     {
         IReference <RuntimeSortFilterEventInfo> sortInfo = m_sortHierarchyStruct.SortInfo;
         object sortOrder;
         using (sortInfo.PinValue())
         {
             sortOrder = sortInfo.Value().GetSortOrder(m_odpContext.ReportRuntime);
         }
         m_sortHierarchyStruct.SortTree.NextRow(sortOrder, this);
     }
     else if (m_dataRowHolder != null)
     {
         m_dataRowHolder.NextRow(m_odpContext, Depth + 1);
     }
 }