2011-09-07 1 views
1

해결할 수없는 문제가 있습니다.부모 노드에 ChildNode를 재귀 적으로 추가

나는 동적으로 TreeView를 만들고 있는데, 나는 목록이있다. 나는 트 리뷰는 같은 ​​방식으로 구축하려는 :

노드 1

_Node2

노드 3

__

__ _Node..N

다음과 같이 내 코드입니다 :

 TreeNode tn = new TreeNode(); 

     for (int i = 0; i < EmployeesReportingLine.Count; i++) 
     { 
      Employee ep = EmployeesReportingLine[i]; 

      while (tn.ChildNodes.Count > 0) 
       tn = tn.ChildNodes[0]; 

      TreeNode temp = new TreeNode(ep.FullName); 
      if (i > 0) 
       tn.ChildNodes.Add(temp); 
      else 
       tn = temp; 
     } 

     TreeView1.Nodes.Add(tn); 

재귀 함수를 사용하여 여러 가지 다른 시도를했지만 위의 스 니펫이 최선의 시도입니다.

미리 감사드립니다.

답변

2
private void addNode(TreeNodeCollection nodes, TreeNode newnode) { 
     if (nodes.Count == 0) nodes.Add(newnode); 
     else addNode(nodes[0].Nodes, newnode); 
    } 

또는 :

private void addNode2(TreeNode start, TreeNode newnode) { 
     if (start.Nodes.Count == 0) start.Nodes.Add(newnode); 
     else addNode2(start.Nodes[0], newnode); 
    } 
+0

덕분에, 완벽하게 일했다. – Seany84