当前位置: 移动技术网 > IT编程>开发语言>c# > C# TreeView无限目录树实现方法

C# TreeView无限目录树实现方法

2019年07月18日  | 移动技术网IT编程  | 我要评论
本文实例讲述了c# treeview无限目录树实现方法。分享给大家供大家参考,具体如下: #region 绑定客户树 protected void bindtr

本文实例讲述了c# treeview无限目录树实现方法。分享给大家供大家参考,具体如下:

#region 绑定客户树
protected void bindtreeview()
{
  treeview1.nodes.clear();
  string userid = session["userid"].tostring();
  string sqlwr = new sy_adminuser().getuseridlistbyloginuser(userid, "customerservice", false);
  datatable dt = maticsoft.dbutility.dbhelperora.query("select parentid,customerid,customershort,customerservice from cu_customer where isdelete='0' " + sqlwr + " order by customershort ").tables[0];
  //定义临时树节点
  treenode tmpnd;
  //特殊处理
  foreach (datarow dr in dt.rows)
  {
    datarow[] drs = dt.select("customerid='" + dr["parentid"] + "'");
    if (drs.length == 0) //无上级节点
    {
      dr["parentid"] = "0";
    }
  }
  dt.acceptchanges();
  //从datatable中得到所有父节点为null的datarow形成的数组
  datarow[] rows = dt.select("parentid='0'");
  //遍历根节点数组
  foreach (datarow row in rows)
  {
    tmpnd = new treenode();
    //给根节点赋值
    tmpnd.value = row["customerid"].tostring();
    tmpnd.text = row["customershort"].tostring();
    tmpnd.expanded = true;
    //将节点加入到树中
    treeview1.nodes.add(tmpnd);
    addtree(dt, treeview1, tmpnd, row["customerid"].tostring());
  }
}
public void addtree(datatable dt, treeview tv, treenode pnode, string customerid)
{
  datarow[] rows = dt.select("parentid='" + customerid + "'");
  treenode tmpnd;
  foreach (datarow row in rows)
  {
    tmpnd = new treenode();
    //给根节点赋值
    tmpnd.value = row["customerid"].tostring();
    tmpnd.text = row["customershort"].tostring();
    tmpnd.expanded = true;
    pnode.childnodes.add(tmpnd);
    //将节点加入到树中
    //treeview1.nodes.add(pnode);
    addtree(dt, treeview1, tmpnd, row["customerid"].tostring());
  }
}
#endregion

更多关于c#相关内容感兴趣的读者可查看本站专题:《c#程序设计之线程使用技巧总结》、《c#操作excel技巧总结》、《c#中xml文件操作技巧汇总》、《c#常见控件用法教程》、《winform控件用法总结》、《c#数据结构与算法教程》、《c#数组操作技巧总结》及《c#面向对象程序设计入门教程

希望本文所述对大家c#程序设计有所帮助。

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网