分层遍历数据

代码
    ''' <summary>
    
''' 获取用户团队名单
    
''' 按层遍历用户团队名单
    
''' </summary>
    
''' <param name="用户ID信息"></param>
    
''' <remarks></remarks>
    Private Function 获取用户团队名单(ByVal 用户ID信息 As StringAs Array
        
Dim 用户团队名单(10As String
        
Dim 层数 As Integer = 1
        用户团队名单(
00= "0"
        用户团队名单(
10= 用户ID信息

        
If IsDBNull(用户ID信息) Then
            
Return 用户团队名单
        
End If

        
Dim cur As Integer = 0
        
Dim last As Integer = 1

        
While (cur < 用户团队名单.GetLength(1))
            
'新的一层访问开始,重新定位last与当前最后一个节点的下一个位置
            last = 用户团队名单.GetLength(1)

            
While (cur < last)
                
Dim 被推荐人DataTableView As New DataView(用户信息DataTable)
                
If 用户团队名单(0, cur) = CStr(层数 - 1Then
                    
'访问节点数据
                    被推荐人DataTableView.RowFilter = "推广员编号='" & 用户团队名单(1, cur) & "'"

                    
If 被推荐人DataTableView.Count > 0 Then
                        
For Each MyDataRowView As DataRowView In 被推荐人DataTableView
                            
'动态获取团队成员信息
                            ReDim Preserve 用户团队名单(1, 用户团队名单.GetLength(1))
                            用户团队名单(
0, 用户团队名单.GetLength(1- 1= CStr(层数)
                            用户团队名单(
1, 用户团队名单.GetLength(1- 1= CStr(MyDataRowView("用户ID"))
                        
Next
                    
End If
                
End If
                cur 
= cur + 1
            
End While
            层数 
= 层数 + 1
        
End While
        
Return 用户团队名单
    
End Function 


posted @ 2010-02-22 10:21  DR19  阅读(213)  评论(0编辑  收藏  举报