c#无限循环treeview 数据库 datatable

 

 public void AddTree(string ParentID, TreeNode pNode)
        {

            SqlHelper sqlHelper = new SqlHelper();
            TreeNode nodes = new TreeNode();
            DataSet dsFrame = sqlHelper.treedataFather();//就是执行了上面的sql语句以后返回查询结果
            DataTable dtTree = dsFrame.Tables[0];
            DataView dvTree = new DataView(dtTree); //就是dtTree = dsFrame.Tables[0];
            string Fstr = "ParentNo='" + ParentID+"'";
            dvTree.RowFilter = Fstr;
            foreach (DataRowView Row in dvTree)
            {
                TreeNode Node = new TreeNode();
                if (pNode == null)                  //处理主节点
                {
                    Node.Name = Row["No"].ToString(); //这里+了2个值分别到Name和Text,可随便
                    Node.Text = Row["Title"].ToString();
                    treeView1.Nodes.Add(Node);    //加入
                    AddTree((Row["No"].ToString()), Node); //递归
                }
                else //处理子节点
                {
                    Node.Name = Row["No"].ToString();
                    Node.Text = Row["Title"].ToString();
                    pNode.Nodes.Add(Node);
                    AddTree((Row["No"].ToString()), Node);
                }
            }
        }

//调用

AddTree("", (TreeNode)null);

例图:

 

 

 

 

posted @ 2013-05-31 14:02  Jimmy_5  阅读(569)  评论(0编辑  收藏  举报