Deeblog

I am a slow walker,but I never walk backward!

树型目录制作全过程

  使用TreeView做了个树型目录,现在把全过程记录下来:
  首先在MSDN下载Treeview Control;安装后,找到安装的webctrl_client文件夹将其复制到C:\Inetpub\wwwroot目录下;(注:如果不复制,你所显示的目录将成为由目录组成的几行文字。)接着就是编写下面的代码,我是调用了两张表完成的,一张表完成应该更好一些,大家可以试试!代码如下:
         /// <summary>
        
/// 创建根节点
        
/// </summary>        
       public static void CreateRootNode()
        {
            TreeView1.Nodes.Clear();

            TreeNode node 
= new TreeNode();
            node.Text 
= "根目录";

            TreeView.Nodes.Add(node);
                        
             
//生成父节点
            CreateParentNode(node);
        }
        
        
/// <summary>
        
/// 创建父节点
        
/// </summary>
        
/// <param name="node">根节点</param>
        public static void CreateParentNode(TreeNode node)
        {
            CategoriesLogic categoriesLogic
= new CategoriesLogic();
            
//获取父目录数据
     DataTable dtParent =  (DataTable)categoriesLogic.GetCategories();
            DataRow[] rowList 
= dtParent.Select();
            
foreach(DataRow dataRow in rowList)
            {
                TreeNode parentNode 
= new TreeNode();
                parentNode.Text 
= dataRow["CategoryName"].ToString();
                parentNode.NodeData 
= dataRow["CategoryId"].ToString();

                node.Nodes.Add(parentNode);

               
//生成子节点
                CreateSonNode( parentNode);
            }

        }

        
/// <summary>
        
/// 创建子节点
        
///</summary>
        
///<param name="parentNode">父节点</param>
        public static void CreateSonNode(TreeNode parentNode)
        {
            CategoriesLogic categoriesLogic 
= new CategoriesLogic();
    
//获取子目录数据
            DataTable dtSon =categoriesLogic.GetSubCategoties(int.Parse(parentNode.NodeData));
            DataRow[] rowList 
= dtSon.Select();
            
foreach(DataRow dataRow in rowList)
            {
                TreeNode sonNode 
= new TreeNode();
                sonNode.Text 
= dataRow["SubCategoryName"].ToString();
                sonNode.NodeData 
= dataRow["SubCategoryId"].ToString();

                parentNode.Nodes.Add(sonNode);
            }
        }

posted on 2006-08-31 13:46 deeloo 阅读(293) 评论(1)  编辑 收藏

Feedback

#1楼 2007-07-29 21:45 umen[未注册用户]

sonNode.NodeData = dataRow["SubCategoryId"].ToString();
parentNode.Nodes.Add(sonNode);

NodeData
Nodes

这两个属性点不出来 什么回事?
 回复 引用