#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. libev事件库学习笔记

    一.libev库的安装 因为个人的学习环境是在ubuntu 12.04上进行的,所以本节仅介绍该OS下的安装步骤. 使用系统工具自动化安装: sudo apt-get install libev-de ...

  2. AudioManager详解(结合源代码)

    AudioManager:用来对音量大小,声音模式(静音,震动,震动加声音等模式)的管理, 还有用它来注册“插入耳机”时的广播接收者(Action: android.intent.action.MED ...

  3. sharepreference实现记住password功能

        SharePreference是用于保存数据用的.主要调用Context.getSharePreferences(String name, int mode)方法来得到SharePrefere ...

  4. Jackson的Json转换

    public class JacksonJsonUtil { private static ObjectMapper mapper; /** * 获取ObjectMapper实例 * @param c ...

  5. java学习笔记day03

    1.二维数组,即一维护 int[][] arr1 = new int[3][2]; int[][] arr2 ={{2,4,3,6,22,7},{3,6,8,9},{10,13,24,5}}; pub ...

  6. ubuntu如何开启SSH服务

    ubuntu如何开启SSH服务 分类: Linux 运维与操作基础2013-02-24 13:33 2868人阅读 评论(0) 收藏 举报 sshd ubuntu ubuntu默认并没有安装ssh服务 ...

  7. LDAP实例异常停止日志提示虚拟内存virtual memory不足

    [05/Oct/2014:20:50:37 +0800] - ERROR<5135> - Resource Limit - conn=-1 op=-1 msgId=-1 - Memory ...

  8. RDLC报表系列(一) 简单的动态数据绑定和配置

    RDLC系列链接 RDLC报表系列(一) 简单的动态数据绑定和配置  RDLC报表系列(二) 行分组 RDLC报表系列(三) 总计和折叠 RDLC报表系列(四) 矩阵 RDLC报表系列(五) 简单的图 ...

  9. tomcat https jks 沃通免费证书安装 解决方案

    网上百度了一天什么没百度到,最后谷歌到了一篇文章启发之下解决之. 代理谷歌网站推荐一个,可以直接上谷歌: https://www.yundou.info ----------------------- ...

  10. bootstrap之 formgroup表单布局样式

    <form class="form-horizontal" role="form"> <fieldset> <legend> ...