zoukankan      html  css  js  c++  java
  • webform 创建树

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data;

    namespace WebApplication4
    {
        public partial class WebForm1 : System.Web.UI.Page
        {
            DataTable _dt = new DataTable();
            protected void Page_Load(object sender, EventArgs e)
            {
                _dt.Columns.Add("code");
                _dt.Columns.Add("parentCode");
                _dt.Columns.Add("name");

                DataRow dr=_dt.NewRow();
                dr[0]="01";
                dr[1]="0";
                dr[2]="顶层1";
                _dt.Rows.Add(dr);

                dr = _dt.NewRow();
                dr[0] = "011";
                dr[1] = "01";
                dr[2] = "子层1";
                _dt.Rows.Add(dr);

                dr = _dt.NewRow();
                dr[0] = "012";
                dr[1] = "01";
                dr[2] = "子层2";
                _dt.Rows.Add(dr);


                dr = _dt.NewRow();
                dr[0] = "02";
                dr[1] = "0";
                dr[2] = "顶层2";
                _dt.Rows.Add(dr);

                dr = _dt.NewRow();
                dr[0] = "021";
                dr[1] = "02";
                dr[2] = "子层1";
                _dt.Rows.Add(dr);

                dr = _dt.NewRow();
                dr[0] = "022";
                dr[1] = "02";
                dr[2] = "子层2";
                _dt.Rows.Add(dr);

                dr = _dt.NewRow();
                dr[0] = "0221";
                dr[1] = "022";
                dr[2] = "子子层1";
                _dt.Rows.Add(dr);

                BuildTree(null, _dt);
            }


            /// <summary>
            /// 绑定树
            /// </summary>
            /// <param name="tn"></param>
            private void BuildTree(TreeNode tn, DataTable dtDept)
            {
                int i;

                // 空节点时创建根节点,父ID为0的当作根节点
                if (tn == null)
                {
                    this.TreeView1.Nodes.Clear();
                    for (i = 0; i < dtDept.Rows.Count; i++)
                    {
                        if (dtDept.Rows[i]["parentCode"].ToString() == "0")
                        {
                            TreeNode tmp = new TreeNode(dtDept.Rows[i]["name"].ToString());
                            tmp.Value = dtDept.Rows[i]["code"].ToString();
                            tmp.ToolTip = dtDept.Rows[i]["parentCode"].ToString();
                            tmp.Checked = true;
                            TreeView1.Nodes.Add(tmp);
                        }
                    }
                    // 循环递归创建树
                    for (i = 0; i < TreeView1.Nodes.Count; i++)
                    {
                        BuildTree(TreeView1.Nodes[i],dtDept);
                    }
                }
                else // 节点非空为递归调用
                {
                    for (i = 0; i < dtDept.Rows.Count; i++)
                    {
                        if (tn.Value.ToString() == dtDept.Rows[i]["parentCode"].ToString())
                        {
                            TreeNode tmp = new TreeNode(dtDept.Rows[i]["name"].ToString());
                            tmp.Value = dtDept.Rows[i]["code"].ToString();
                            tmp.ToolTip = dtDept.Rows[i]["parentCode"].ToString();          
                            tn.ChildNodes.Add(tmp);
                        }
                    }
                    for (i = 0; i < tn.ChildNodes.Count; i++)
                    {
                        BuildTree(tn.ChildNodes[i],dtDept);
                    }
                }
            }

            protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
            {
                this.Label1.Text = TreeView1.SelectedValue;
             
                ScriptManager.RegisterStartupScript(UpdatePanel1, this.GetType(), "updatePanel1show", "change_css('" + Label1.Text + "')", true);
                TreeView1.ExpandAll();

            }
        }
    }

  • 相关阅读:
    yii---where or该如何使用
    yii---获取当前sql语句
    yii---load怎么使用
    yii---往对象里面添加属性
    js---箭头函数
    yii---判断POST请求
    Atitit USRqc62204 证书管理器标准化规范
    Atitit  深入理解命名空间namespace  java c# php js
    atitit..代码生成流程图 流程图绘制解决方案 java  c#.net  php v2
    Atitit 项目中的勋章体系,,mvp建设 ,荣典体系建设
  • 原文地址:https://www.cnblogs.com/movemoon/p/4165185.html
Copyright © 2011-2022 走看看