首先在数据库中建表,表的格式如下
id   name   parent_id

代码如下:
     /// <summary>
                /// 添加根节点
                /// </summary>
                /// <param name="list">表的所有数据orm的List集合,object为表对应的实体对象</param>
                private void AddRootTreeViewNodes(List<object> list)
                 {
                         foreach (Entity.sort s in list)
                         {
                                if(null==s.parent_id)
                                {
                                        TreeNode newNode = new TreeNode(s.name);
                                        newNode.Tag = s.id;
                                        treeView1.Nodes.Add(newNode);
                                        AddChildTreeViewNodes(list, newNode);
                                }
                                
                         }
                 }
/// <summary>
                /// 添加子节点
                /// </summary>
                /// <param name="list">表的所有数据orm的List集合,object为表对应的实体对象</param>
                /// <param name="parentTreeViewNode">父节点</param>
                private void AddChildTreeViewNodes(List<object> list, TreeNode parentTreeViewNode)
                {

                        foreach (Entity.sort s in list)
                            {
                                if (s.parent_id==(int)parentTreeViewNode.Tag)
                                {
                                        TreeNode newNode = new TreeNode(s.name);
                                        newNode.Tag = s.id;
                                        parentTreeViewNode.Nodes.Add(newNode);
                                        AddChildTreeViewNodes(list, newNode);
                                }
                            }
                }

调用函数:
AddRootTreeViewNodes(list);//list为表中所有数据集合