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();

            }
        }
    }

  • 相关阅读:
    创建SSIS包—ETL中典型的数据清洗
    SSIS中的容器和数据流—数据转换(Transformations)
    创建SSIS包—循环和动态package
    SSIS中的容器和数据流—数据转换(Transformations)续
    创建SSIS包—建立端到端的package
    SQL点滴9—SQL Server中的事务处理以及SSIS中的内建事务
    SSIS中的容器和数据流—调试工具数据视图
    SQL点滴11—重置win7登录密码影响SQL登录
    SQL点滴10—使用with语句来写一个稍微复杂sql语句,附加和子查询的性能对比
    SSIS中的容器和数据流—举例说明数据转换任务
  • 原文地址:https://www.cnblogs.com/movemoon/p/4165185.html
Copyright © 2011-2022 走看看