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;
}
}
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;
}
}