treePath

 

using  System;
using  System.Data;
using  System.Configuration;
using  System.Web;
using  System.Web.Security;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.Web.UI.WebControls.WebParts;
using  System.Web.UI.HtmlControls;
using  System.Data.SqlClient;
/// <summary>
/// pathTree 的摘要说明
/// </summary>

public   class  pathTree
{
    
//aaa/bbb/ccc
    public static TreeView Tv;
    
static pathTree()
    
{
        Tv 
= new TreeView();
        TreeNode tn 
= new TreeNode();
        tn.Text 
= "member";
        tn.Value 
= "member";
        Tv.Nodes.Add(tn);

        AddPath(tn, 
"a/b/c");
        AddPath(tn, 
"aa/bb/cc");
        AddPath(tn, 
"aaa/bbb/ccc");
        AddPath(tn, 
"aaa/bbb/ddd");
        delNode(tn, 
"aaa/bbb/ddd");

    }

    
public pathTree()
    
{
        
//
        
// TODO: 在此处添加构造函数逻辑
        
//

    }

    
private static void AddPath(TreeNode tn, string path)
    
{
        
string tempStr = string.Empty;
        
string subPath = string.Empty;
        
if (path.IndexOf("/"> -1)
        
{
            tempStr 
= path.Substring(0, path.IndexOf("/"));
            subPath 
= path.Substring(path.IndexOf("/"+ 1);
            
foreach (TreeNode tnd in tn.ChildNodes)
            
{
                
if (tnd.Text.Equals(tempStr))
                
{
                    AddPath(tnd, subPath);
                    
return;
                }

            }

            TreeNode newTn 
= new TreeNode(tempStr, tempStr);
            tn.ChildNodes.Add(newTn);
            AddPath(newTn, subPath);
            
return;
        }

        
else
        
{
            
foreach (TreeNode tnd in tn.ChildNodes)
            
{
                
if (tnd.Text.Equals(path))
                
{
                    
return;
                }

            }

            TreeNode newTn 
= new TreeNode(path, path);
            tn.ChildNodes.Add(newTn);
            
return;
        }


    }


    
public static void ChangeTree()
    
{
        
//TreeNode tn = Tv.Nodes[0];
        
//AddPath(tn, "a/b/c");
        return;
    }


    
public static void delNode( TreeNode tn, string path)
    
{
        
string tempStr = string.Empty;
        
string subPath = string.Empty;
        
if (path.IndexOf("/"> -1)
        
{
            tempStr 
= path.Substring(0, path.IndexOf("/"));
            subPath 
= path.Substring(path.IndexOf("/"+ 1);
            
foreach (TreeNode tnd in tn.ChildNodes)
            
{
                
if (tnd.Text.Equals(tempStr))
                
{
                    delNode(tnd, subPath);
                    
if (tnd.ChildNodes.Count == 0)
                    
{
                        tn.ChildNodes.Remove(tnd);
                        
return;
                    }

                }

            }

           
        }

        
else
        
{
            
foreach (TreeNode tnd in tn.ChildNodes)
            
{
                
if (tnd.Text.Equals(path))
                
{
                    
if (tnd.ChildNodes.Count == 0)
                    
{
                        tn.ChildNodes.Remove(tnd);
                        
return;
                    }
           
                }

            }

        }

        
return;
        
    }


}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值