首页 > 编程 > C# > 正文

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

2020-01-24 01:05:12
字体:
来源:转载
供稿:网友

本文实例讲述了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#程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表