MS有IE WebControls,需要单独下载安装

解决方案 »

  1.   

    首先,定义一个全局静态变量:
    static string CurrentNodeIndex;
    在下面的事件里:
    private void TreeView1_SelectedIndexChange(object sender, Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs e)
    {
    CurrentNodeIndex =  TreeView1.SelectedNodeIndex;
    }
    写一个函数,得到这个值:
    public void GetAllNodeText(Microsoft.Web.UI.WebControls.TreeNodeCollection tnc,string SelectIndex)
    {   
    foreach (Microsoft.Web.UI.WebControls.TreeNode node in tnc)
    {
    GetAllNodeText(node.Nodes,SelectIndex);
    if (SelectIndex == node.GetNodeIndex())
    {
    CurNode = node;
    }
    }

    }
    再调用:
    public bool AddNode(Microsoft.Web.UI.WebControls.TreeNodeCollection treeNode,string ID,string txt,string SelectIndex)
    {
    int exist = 0;   //用于判断要添加的节点在当前节点的子节点中是否有相同的节点
    Microsoft.Web.UI.WebControls.TreeNode NewNode = new Microsoft.Web.UI.WebControls.TreeNode(); //生成新的节点
    NewNode.Text = txt;
    NewNode.ID = ID;
    GetAllNodeText(treeNode,SelectIndex);
    foreach (Microsoft.Web.UI.WebControls.TreeNode node in CurNode.Nodes )
    {   
    if ( node.Text == NewNode.Text )
    {
    exist = 1;
    return false;
    }
    }
    if ( exist != 1)
    {
    CurNode.Nodes.Add(NewNode);
    return true;
    }
    else
    {
    return false;
    }

    }
    webtreeview比较麻烦,winform的就简单多了,也差不多。