protected void Page_Load(object sender, EventArgs e)
{
bindtree(PopId);
}
private void bindtree()
{
TreeView1.Nodes.Clear();
AddTree(, (TreeNode)null);
}
public void AddTree(int ParentID, TreeNode pNode)
{
DataTable dt = new DataTable();
//数据源
dt = logbll.BindPop();
DataView dvTree = new DataView(dt);
//过滤ParentID,得到当前的所有子节点
dvTree.RowFilter = "flid = " + ParentID; foreach (DataRowView Row in dvTree)
{
TreeNode Node = new TreeNode();
if (pNode == null)
{ //添加根节点
Node.Text = Row["PopName"].ToString();
TreeView1.Nodes.Add(Node);
//Node.Expanded = true; AddTree(Int32.Parse(Row["PopId"].ToString()), Node); //再次递归
}
else
{ //添加当前节点的子节点
Node.Text = Row["PopName"].ToString();
Node.NavigateUrl = Row["PostUrl"].ToString();
pNode.ChildNodes.Add(Node);
//Node.Expanded = true;
AddTree(Int32.Parse(Row["PopId"].ToString()), Node); //再次递归
}
}
}

C#递归树的更多相关文章

  1. react封装组织架构递归树

    想用react实现一个递归树,但一些框架里面的有些不符合需求,于是自己写了个,功能比较简单,欢迎批评指正.. react实现这样一个组织架构递归树,下级部门的收起和展开,点击部门名称时请求接口获取下级 ...

  2. MIT6.006Lec03:插入排序,归并排序,递归树

    MIT6.006是算法导论课,Lec03主要讲插入排序,归并排序,以及分析方法(递归树)等. 插入排序,可以分为线性插入排序.二分插入排序,区别在于当把数组中某元素插入到前面的有序列表中时,前者遍历, ...

  3. 【整理】iview Tree数据格式问题,无限递归树处理数据

    iview Tree数据格式问题,无限递归树处理数据 https://juejin.im/post/5b51a8a4e51d455d6825be20

  4. 递归树处理,配合vue的vueTreeselect组件使用

    在项目中经常会使用到tree,并且需要对递归树进行操作. 在vue项目中,使用vue-treeselect插件(https://vue-treeselect.js.org/) 使用中遇到的问题: 1. ...

  5. C/C++深度优先搜索(递归树模拟)

    //C++深度优先搜索(递归树模拟) #define _CRT_SECURE_NO_WARNINGS #include <iostream> #define MAX_N 1000 usin ...

  6. swift_枚举 | 可为空类型 | 枚举关联值 | 枚举递归 | 树的概念

    ***************可为空的类型 var demo2 :we_demo = nil 上面这个代码串的语法是错的 为什么呢, 在Swift中,所有的类型定义出来的属性的默认值都不可以是nil ...

  7. C#.NET 大型通用信息化系统集成快速开发平台 4.0 版本 - 用户权限树的实现 -- 权限递归树

    业务系统里经常会需要计算类似的树形权限树的业务需求 1:往往会有一些需求,a 对 b 有权限, b对c 有权限, 等等. 2:还需要很直观的看到,整个权限的树形关系,一目了然的那种. 3:程序调用简单 ...

  8. 【DRP】删除递归树的操作

    正如图呈现的树结构.本文从任意节点删除树形结构.提供解决方案 图中,不包括其他结点的是叶子结点.包括其他结点的是父结点,即不是叶子结点. 一 本文的知识点: (1)递归调用: 由于待删除的结点的层次是 ...

  9. mysql中递归树状结构<转>

    在Oracle 中我们知道有一个 Hierarchical Queries 通过CONNECT BY 我们可以方便的查了所有当前节点下的所有子节点.但很遗憾,在MySQL的目前版本中还没有对应的功能. ...

  10. 最全 C 语言常用算法详解-排序-队列-堆栈-链表-递归-树 (面试有用)

    具体 源代码 案例查看github,持续更新中............ github地址:https://github.com/Master-fd/C-Algorithm 1. 二分法查找 2. 冒泡 ...

随机推荐

  1. Android 开发中的View事件监听机制

    在开发过程中,我们常常根据实际的需要绘制自己的应用组件,那么定制自己的监听事件,及相应的处理方法是必要的.我们都知道Android中,事件的监听是基于回调机制的,比如常用的OnClick事件,你了解它 ...

  2. HTML8表单验证

    表单验证: 一.非空验证: 1.内容是不是空的. 判断值的长度是不是0.length属性.压缩空格的函数.   2.内容是不是改变了.   二.对比验证: 1.验证两个控件值的关系(相同,大小)   ...

  3. mongodb高可用集群搭建

    集群构架图如下: 集群大致文件结构:(192.168.137.101节点) 先搭建3个副本集 rs1/mongod.conf rs1/start.sh rs2/mongod.conf 后面类似.... ...

  4. 库函数strlen源码重现及注意问题

    首先直接上源码: size_t strlen (const char * str) { const char *eos = str; while(*eos++); return(eos - str - ...

  5. 关于sql 外键的讨论。

    外键是否采用看业务应用场景,以及开发成本的,大致列下什么时候适合,什么时候不适合使用: 1. 互联网行业应用不推荐使用外键: 用户量大,并发度高,为此数据库服务器很容易成为性能瓶颈,尤其受IO能力限制 ...

  6. php简单对象与数组的转换

    function arrayToObject($e){     if( gettype($e)!='array' ) return;     foreach($e as $k=>$v){     ...

  7. 第二章——Parcelable接口的使用(跨进程,Intent传输)

    一.Parcelable类(Android独有的) 简介:Parcelable是一个接口. 作用:是Android提供的序列化接口,实现序列化和反序列化的操作. 二.跨进程使用 步骤一:创建Book类 ...

  8. Http网络请求

    前提说明: 1.Str.Empty 其实就是 string.Empty 2.@object.IsNull() 的IsNull() 是判断“是否等于null”的扩展方法,等同于  @object==nu ...

  9. SQL Server 查看实例配置情况的 2 方法

    方法 1. sp_configure; execute sp_configure; 方法 2. sys.configurations select * from sys.configurations  ...

  10. Qt 多线程与数据库操作需要注意的几点问题(QSqlDatabase对象只能在当前线程里使用)

    彻底抛弃MFC, 全面应用Qt 已经不少时间了.除了自己看书按步就班做了十几个验证性的应用,还正式做了3个比较大的行业应用,总体感觉很好.Native C++ 下, Qt 基本是我用过的最简便的界面库 ...