#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. Clock network

    https://en.wikipedia.org/wiki/Clock_network

  2. C的|、||、&、&&、异或、~、!运算(转)

    位运算     位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位串信息,按位完成指定的运算,得到位串信息的结果. 位运算符有:     &(按位与).|(按位或) ...

  3. 让资源可以下载a

    第一种方式------不存在任何兼容性 <a href='x.zip'>下载</a> 将要链接的资源进行打包即可 第二种方式----存在兼容性,目前只有Chrome 和Fire ...

  4. 谈谈javascript的函数表达式及其应用

    我们都知道定义函数的方式有两种,一种是函数声明,另外一种就是函数表达式. 函数声明 语法为:function关键字后跟函数名.例如: function functionName(arg0) { //函 ...

  5. 微软ajax组件

    拖个listview 然后绑定数据源,对curd选项打勾,然后拖个scriptManager进来,在拉个updatepanel进来,在updatepanel中放入个contentTemplate,吧l ...

  6. C# 添加服务引用。

    1,服务引用给的实例(需要一个网址连接) http://192.168.17.131:12170/amtiot.gis.WCF/SpatialAnalysis.svc  (类似于这样的一个网址) 在网 ...

  7. sqlserver2005仅当使用了列的列表,并且 IDENTITY_INSERT 为 ON 时,才能在表 'SendMealAddress'中为标识列指定显式值。

    ps = con.prepareStatement("insert into SendMealAddress values(null,?,?,?,?)"); 表有一列是自增长的标识 ...

  8. 关于json对象的遍历

    json格式的数据越来越多的在web开发中起到重要作用.下面介绍对于json对象和数组经常用到解析方法. var obj ={”name”:”冯娟”,”password”:”123456″,”depa ...

  9. jQuery 获取 多个 复选框 和 javascript 对比

    $('input[name="teams"]:checked').size() // 全选 $("#quanteam").bind("click&qu ...

  10. ButterKnife你需要知道的点

    ButterKnife,这个方便findViewById而使用的库,无数的应用在使用它,以注解来实现的他,对应用的性能影响几乎可以忽略,可以放心使用. 使用: compile 'com.jakewha ...