zoukankan      html  css  js  c++  java
  • TreeView初始化,返回节点值的方法(转)收藏

    初始化树程序
    ivate void intiTree(TreeNodeCollection Nds,int parentId)
      {
       DataSet ds=new DataSet();
       ds=eharbor.DataAccess.dataSet(sql0);//我有一个单独的数据访问类eharbor.DataAccess,
    DataView dv=new DataView();
       TreeNode tmpNd;
       int intId;
       dv.Table=ds.Tables[0];
          dv.RowFilter="atc_sup_id="+parentId+"";break;
       
       foreach(DataRowView drv in dv)
       { 
        tmpNd=new TreeNode();
          tmpNd.ID=drv["atc_id"].ToString();
          tmpNd.Text=drv["atc_name"].ToString();
          tmpNd.ImageUrl="adimg/filder.gif";
           intId=Convert.ToInt32(tmpNd.ID);
        Nds.Add(tmpNd);
        intiTree(Nds[Nds.Count-1].Nodes,intId);
       }
      
      }
    方便的实现了读入树,但实现返回节点值却费了我好大功夫,去网上搜相关内容,也没找到,但最后还是让我给蒙出来了,原来TreeView的SelectedNodeIndex返回的根节点值是0,1,2这样的,但子节点是0.1,0.0.1,这样的,这样怎么能采用TreeView.Nodes[SelectedNodeIndex].Text返回呢?我束手无策。去论坛发帖求助也没能解决,傍晚的时候,我突然想到是不是这样,子节点TreeVIew.Nodes[i].Nodes[i]......,一试果然,我高兴又无奈,就这样一个小而简单的问题费了我一整天功夫,下面是我用循环的方法返回节点值的程序
    private void TreeView1_SelectedIndexChange(object sender, Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs e)
     
      {
         string[] aa=e.NewNode.Split('.');
        int[] incount=new int[20];// 分类不能超过20级,这里算是个缺陷吧,要么就要再循环一遍重新计一次数。
        int i=0;
        TreeNode temp=new TreeNode();;
        foreach(string s in aa)
        {
         incount[i]=Convert.ToInt32(s);
         i++;
        }
        temp=this.TreeView1.Nodes[incount[0]];
        for(int j=1;j<i;j++)
        {   
         temp=temp.Nodes[incount[j]];
     }
     this.tx_a.Text=temp.Text;



    另外一种超级简单的方法也可以实现:
    Treeview1.GetNodeFromIndex(Treeview1.SelectedNodeIndex).Text
  • 相关阅读:
    nginx 过滤了自定义的请求头参数
    Mysql5.7查看已经执行的sql语句
    Reids5 持久化
    JS 格式化时间,转成 几天前,几个月前
    个人小镜像站点
    记录一次清理Redis 病毒程序 kdevtmpfsi
    laravels 热重启
    Redis 布隆器安装和简单实现
    Redis Zset类型跳跃表算法实现(JAVA)
    Redis5 基于Lua实现分布式排它锁
  • 原文地址:https://www.cnblogs.com/xh831213/p/330166.html
Copyright © 2011-2022 走看看