⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 edittreeview.ascx.cs

📁 本在线考试系统采用了面向对象的分析和设计
💻 CS
字号:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
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.Text.RegularExpressions;
using System.Collections.Generic;

public partial class UserControls_EditTreeView : System.Web.UI.UserControl
{
    protected void Page_Load(object sender, EventArgs e)
    {
       
    }
    public void CreateTreeView(ITreeNode rootNode)
    {
        AddTopTreeViewNodes(rootNode, TreeView1);
    }
    private void AddTopTreeViewNodes(ITreeNode tree, TreeView view)
    {
        IList<ITreeNode> topNodes = tree.GetTopNodes();
        foreach (ITreeNode domainNode in topNodes)
        {
            TreeNode node = new TreeNode(Server.HtmlDecode("<div class='TreeNode' id='" + domainNode.ID + "' >" + domainNode.Name + "</div>"),
                domainNode.ID.ToString());

            view.Nodes.Add(node);
            AddChildrenTreeViewNodes(node, domainNode);
        }
    }
    private void AddChildrenTreeViewNodes(TreeNode parentNode, ITreeNode parentDomainNode)
    {
        foreach (ITreeNode domainNode in parentDomainNode.Children)
        {
            TreeNode node = new TreeNode(Server.HtmlDecode("<div class='TreeNode' id='" + domainNode.ID + "' >" + domainNode.Name + "</div>"),
                domainNode.ID.ToString());

            parentNode.ChildNodes.Add(node);
            AddChildrenTreeViewNodes(node, domainNode);
        }
    }
    public event EventHandler SelectedNodeChanged
    {
        add { TreeView1.SelectedNodeChanged += value; }
        remove { TreeView1.SelectedNodeChanged -= value; }
    }
    public TreeNode SelectedNode
    {
        get { return TreeView1.SelectedNode; }
    }

    protected void AddRootNodeButtion_Click(object sender, EventArgs e)
    {
        long rootId;
        AddRootClick(RootTextBox.Text, out rootId);

        TreeView1.Nodes.Add(new TreeNode(Server.HtmlDecode("<div class='TreeNode' id=' "+ rootId + "'>" + RootTextBox.Text + "</div>"),
                rootId.ToString()));

    }
    public delegate void AddRootClickHandler(string text, out long rootId);
    public AddRootClickHandler AddRootClick;

    private static string GetNodeText(string htmlText)
    {
        Regex regex = new Regex(@"^<div(\W|\w)*>\b");
        htmlText = regex.Replace(htmlText, "");
        regex = new Regex(@"</div>");
        htmlText = regex.Replace(htmlText, "");
        return htmlText;
    }
    protected void New_Click(object sender, EventArgs e)
    {
            TreeNode parentNode = TreeView1.SelectedNode;

            TreeNode newNode = new TreeNode();
            newNode.Text = Server.HtmlDecode("</a><input type='text' name='new'/><a  href=\"javascript:__doPostBack('"+Insert.UniqueID+"','')\">Insert</a><a>");
            newNode.Value = "";
            parentNode.ChildNodes.Add(newNode);
    }
    protected void Insert_Click(object sender, EventArgs e)
    {
        string parentId = ID.Text;
        string childText = Request.Form["new"].ToString();
        TreeNode parentNode = TreeView1.SelectedNode;

        TreeNode childNode = null;
        foreach (TreeNode node in parentNode.ChildNodes)
        {
            if (node.Value == "")
                childNode = node;
        }
        long newId;
        InsertClick(childText, long.Parse(parentId), out newId);

        childNode.Value = newId.ToString();

        childNode.Text = Server.HtmlDecode("<div class='TreeNode' id='" + newId + "'>" + childText + "</div>");
        childNode.ExpandAll();

    }
    public delegate void InsertClickHandler(string text, long parentId, out long newId);
    public event InsertClickHandler InsertClick;

    protected void Update_Click(object sender, EventArgs e)
    {
        string id = ID.Text;
        string text = Request.Form["TreeNode" + id].ToString();
        TreeNode updateNode = TreeView1.SelectedNode;

        updateNode.Text = "<div class='TreeNode' id='" + id + "'>" + text + "</div>";
        updateNode.Value = id;

        UpdateClick(text, long.Parse(id));

    }
    public delegate void UpdateClickHandler(string newText, long updateId);
    public event UpdateClickHandler UpdateClick;
    protected void Edit_Click(object sender, EventArgs e)
    {
        TreeNode editNode = TreeView1.SelectedNode;

        editNode.Text = Server.HtmlDecode("</a><input type='text' value='" + GetNodeText(editNode.Text) + "' name='TreeNode" + ID.Text + "'/><a  href=\"javascript:__doPostBack('"+Update.UniqueID+"','')\">Update</a><a>");
    }
    protected void Delete_Click(object sender, EventArgs e)
    {
        TreeNode deleteNode = TreeView1.SelectedNode;
        if (deleteNode.Parent == null)
            TreeView1.Nodes.Remove(deleteNode);
        else
            deleteNode.Parent.ChildNodes.Remove(deleteNode);
        DeleteClick(long.Parse(ID.Text));
    }
    public delegate void DeleteClickHandler(long deleteId);
    public event DeleteClickHandler DeleteClick;
    public TextBox RootNodeTextBox
    {
        get { return RootTextBox; }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -