asp.net 2.0 treeview控件“简单”操纵

来源:互联网 发布:怎么链接淘宝店铺宝贝 编辑:程序博客网 时间:2024/05/16 15:57

这几天正在学asp.net2.0的,虽然还只是测试版,但听说很早就出来了,我也是前一个月才听说,有点

惭愧。她的变化实在太大了,其中就有多了一个树形控件treeview,在1.0中是要自己下载安装的,可见

2.0是更加的完善了。因为是一个控件,所以静态填充用起来还是很简单的,设置一些属性就OK了,但是

要动态地添加就只好自己写代码了,方法和1.0差不多,我研究了两天,总算有了点结果,嘿,太感

动....
--------------------------------------------------------------------------------
具体步骤如下:
一、从工具箱中拖一个treeview控件设置如下属性
   OnTreeNodePopulate="Node_Populate" //调用后台的一个方法
   ID="tree"
 >
  
    Value="0" />
  

二、建立数据库用来存放各节点信息,数据库表如下 tree_father

三、动态读取数据。在aspx.cs文件中实现
public void Node_Populate(object sender, System.Web.UI.WebControls.TreeNodeEventArgs e)
    {
        if (e.Node.ChildNodes.Count == 0)//判断是否当前为第一级节点
        {
            switch (e.Node.Depth)//获取节点的深度
            {
                case 0:
                    Fill_Fathers(e.Node);//促发事件,并传递引发事件的节点!
                    break;
                case 1:
                    Fill_Childs(e.Node);
                    break;
            }
        }
    }


void Fill_Fathers(TreeNode node)//列出父节点
   {  //创建数据库连接并把数据缓存到dataset Tree_father表中
       string connString = ConfigurationManager.ConnectionStrings

["EnglishConnectionString"].ConnectionString;
       SqlConnection connection = new SqlConnection(connString);
       SqlCommand command = new SqlCommand("Select Father_name From  Tree_father where

Father_id is null", connection);
       SqlDataAdapter adapter = new SqlDataAdapter(command);
       DataSet Tree_father = new DataSet();
       adapter.Fill(Tree_father);
   if (Tree_father.Tables.Count > 0)
   {
       foreach (DataRow row in Tree_father.Tables[0].Rows)//循环列出父节点
   {
   TreeNode newNode = new TreeNode(row["Father_name"].ToString());
   //        + "" +
   //row["Father_name"].ToString(),
   //row["Father_id"].ToString());
   newNode.PopulateOnDemand = true;
   newNode.SelectAction = TreeNodeSelectAction.Expand;
   node.ChildNodes.Add(newNode);
   }
   }
   }


 void Fill_Childs(TreeNode node)
   {
   string author = node.Value.ToString();
   string connString = ConfigurationManager.ConnectionStrings

["EnglishConnectionString"].ConnectionString;
   SqlConnection connection = new SqlConnection(connString);//注意数据类型!!!下面用

like!!
   SqlCommand command = new SqlCommand("Select Father_name,id from Tree_father where

Father_id like '"+author+"'", connection);
   SqlDataAdapter adapter = new SqlDataAdapter(command);
   DataSet titlesForAuthors = new DataSet();
   adapter.Fill(titlesForAuthors);
   if (titlesForAuthors.Tables.Count > 0)
   {
   foreach (DataRow row in titlesForAuthors.Tables[0].Rows)
   {
   TreeNode newNode = new TreeNode(row["Father_name"].ToString());
   newNode.PopulateOnDemand = true;
   newNode.NavigateUrl = "../admin/switch.aspx?classId=" + row["ID"].ToString();
   //newNode.Target = "mainfram";
   newNode.SelectAction = TreeNodeSelectAction.Select;
   node.ChildNodes.Add(newNode);
   }
   }
   }

 
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 苹果手机相机坏了怎么办 苹果5s手机背光灯不亮怎么办 苹果5s灯控坏了怎么办 微信q币冲错号码怎么办 支付宝转账到之前号码怎么办 qq红包收不了钱怎么办 qq抢红包要实名认证怎么办 支付宝被骗冲q币怎么办 qq发红包发错了怎么办 qq红包发不出来怎么办 qq红包发多了怎么办 qq发红包要短信验证怎么办 不是qq好友发了红包怎么办 苹果手机升级后支付宝打不开怎么办 qqq币充了没进帐怎么办 怎么办q币换成qq余额 支付宝qb冲多了怎么办 微信没钱怎么办怎么赚 忘记微信支付密码怎么办 手机设备注册达上限怎么办 在新手机上登微信需要验证怎么办 手机号被限制注册qq号怎么办 手机互换了微信怎么办 微信申诉只有一位好友怎么办 微信申诉没有好友怎么办 四川电信多余的话费怎么办 四川电信话费多了怎么办 固话冲q币要密码怎么办 手机卡怎么突然没了怎么办 联通话费冲错了怎么办 王卡高额半停机 怎么办 计算机报考在手机上网上支付怎么办 建行app充话费不到账怎么办 币乎账号被骗了怎么办? q币充了想返还怎么办 q币账号充值错了怎么办 淘宝乐充话费没到账怎么办 微信信用卡还款未到账怎么办 登不上qq怎么改qq密码怎么办 qq改不了以前的密码怎么办 qq微信密码都被改了怎么办