递归
void test(TreeNode node)
{
   foreach(TreeNode n in node.Nodes)
   {
      //在这里读取n的内容
      test(n);
   }
}

解决方案 »

  1.   

    递归,并加入到treeView
    private void Form1_Load(object sender, System.EventArgs e)
    {
        this.sqlDataAdapter1.Fill(dataSet1);
                for (int i=0;i<dataSet1.Tables[0].Rows.Count;i++)
    {
    if ((dataSet1.Tables[0].Rows[i]["parentID"]==null) || (dataSet1.Tables[0].Rows[i]["parentID"].ToString()=="") )
    {
    try
    {   TreeNode tr=new TreeNode();
    tr.Text=dataSet1.Tables[0].Rows[i]["DeptName"].ToString();
        tr.Tag=dataSet1.Tables[0].Rows[i]["CompanyID"].ToString();
    treeView1.Nodes.Add(tr);
    // MessageBox.Show(tr.Index.ToString());

    }
    catch  (Exception ex)
    {
                           MessageBox.Show(ex.ToString());
    }
    }
    else
    {
     SeekNode(treeView1.Nodes ,dataSet1.Tables[0].Rows[i]["ParentID"].ToString().Trim(),dataSet1.Tables[0].Rows[i]["DeptName"].ToString(),dataSet1.Tables[0].Rows[i]["CompanyID"].ToString());

    }
    }
    treeView1.Nodes[0].Expand();
    }
    /// <summary>
    /// 递归遍历TreeView
    /// </summary>
    /// <param name="tru"></param>
    /// <param name="s_parentID"></param>
    /// <param name="s_text"></param>
    /// <param name="s_tag"></param>
    private  void SeekNode(System.Windows.Forms.TreeNodeCollection tru,string s_parentID ,string s_text,string s_tag)
    {  // TreeNodeCollection tndco;
    //tndco=treeView1.Nodes;

    foreach ( TreeNode tnd in tru )
    {
    //MessageBox.Show(tnd.Tag.ToString());
    try
    { if ( tnd.Tag.ToString() == s_parentID  ) {
    TreeNode tr=new TreeNode();
    tr.Text= s_text;
    tr.Tag=s_tag;
    tnd.Nodes.Add(tr);
    return ;
    }
    else
    {
    SeekNode(tnd.Nodes,s_parentID,s_text,s_tag);
    }
    }
    catch  (Exception ex) {
    MessageBox.Show(ex.ToString());
    }
    }

    }