#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

TreeView(C#)无限目录树代码片段的更多相关文章

  1. Python生成目录树代码

    用Python实现类似Windows下的tree命令,获取目录树结构. import os import os.path BRANCH = '├─' LAST_BRANCH = '└─' TAB = ...

  2. 原创的基于HTML/CSS/JavaScript的层级目录树

    之前参加过一些基于HTML/CSS/JavaScript的项目,当在页面中需要生成一颗目录树时,总是首先想着网上有没有现成的生成树的源代码,比如dtree.zthee,或者使用一些javascript ...

  3. 转:打造DropDownList,TreeView,ListBox无限极分类目录树

    [csharp] view plaincopyprint? #region DropDownList无限递归显示层次关系 /// <summary> /// 创建无限分级下拉列表框 /// ...

  4. 使用CSS3动画属性实现360°无限循环旋转【代码片段】

    使用CSS3的animation动画属性实现360°无限循环旋转. 代码片段: <div id="test"> <img src="/CSS3/img/ ...

  5. 用java代码实现构造目录树

    怎么用java代码实现上面这样的目录树? 首先创建数据表 每条数据记录自己的id以及父节点的id 然后进入java代码部分: public String directory(String author ...

  6. CMake相关代码片段

    目录 用于执行CMake的.bat脚本 CMakeLists.txt和.cmake中的代码片段 判断平台:32位还是64位? 判断Visual Studio版本 判断操作系统 判断是Debug还是Re ...

  7. 【.net 深呼吸】将目录树转化为文本

    大伙都知道,文件系统是树形结构的,有时候我们会想到把目录的层次结构变为纯文本形式,就像这样: ├─Windows-universal-samples-master │ ├─Samples │ │ ├─ ...

  8. sublimetext3中保存代码片段

    在日常的开发工作中,不断重复上一次敲过的代码,有时确实感到伐木累."蓝瘦"(难受)."香菇"(想哭),大概表达的也是这样的心境吧!:grinning: 所以,在 ...

  9. Code Snippets 代码片段

    Code Snippets 代码片段       1.Title : 代码片段的标题 2.Summary : 代码片段的描述文字 3.Platform : 可以使用代码片段的平台,有IOS/OS X/ ...

随机推荐

  1. MAC 下cocos2d-x lua 使用dragonbones的方法

    项目使用db,网上查了半天全是vs和android的流程,没查到有mac的.这里记录一下. quick-cocos-x下的使用方法: a. 将dragonbones(放入ucocos2d_libs中) ...

  2. Struts2+Spring集成合并

    前边单独总结了Struts2,Spring和Ibaits框架了,那么怎么结合使用呢?这次先来看一下Sturts2和Spring的集成合并.其实挺简单的,就是导入各自的jar包以及连接彼此的jar包,分 ...

  3. VC2010 Working Directory

    VC project setting --〉debug中的working directory指的是工作文件夹在哪里? project属性下,Debug以下的 Working Directory 是为了 ...

  4. ubuntu系统分区方案

    一.各文件及文件夹的定义 /bin:bin是binary(二进制)的缩写.存放必要的命令 存放增加的用户程序. /bin分区,存放标准系统实用程序./boot:这里存放的是启动LINUX时使用的一些核 ...

  5. application,session,cookie三者之间的区别和联系

    application:    程序全局变量对象,对每个用户每个页面都有效 session:    用户全局变量,对于该用户的所有操作过程都有效    session主要是在服务器端用,一般对客户端不 ...

  6. WPF学习记录1:ListView的一个模板

    在网上找的一个模板,放在这里,作为笔记,收集 <ListView Grid.Column=" Name="ListmuLu" > <ListView.I ...

  7. 使用react-native做一个简单的应用-01项目介绍

    学习react-native也有一个月的时间了.当学习了关于react-native的基础知识之后,打算自己去仿一个应用去练手.于是花了10天左右的时间,这个小应用的基本功能也实现的差不多了. 在展示 ...

  8. UILabel + 导入字体

    UILabel * label = [[UILabel alloc]initWithFrame:CGRectMake(10, 100, 300, 100)]; 1.设置文字颜色 label.textC ...

  9. iOS框架介绍

    iOS框架介绍      Cocoa Touch   GameKit  实现对游戏中心的支持,让用户能够在线共享他们的游戏相关的信息  iOS设备之间蓝牙数据传输   从iOS7开始过期   局域网游 ...

  10. Oracle数据类型与.NET中的对应关系(转)

    Oracle数据类型与.NET中的对应关系 2011-02-24 10:02:16 标签:C# oracletype Oracle 数据类型 .NET Oracle连接添加的引用不同,会存在数据类型不 ...