把LIST递归成树形结构
时间:2020-01-07
本文章向大家介绍把LIST递归成树形结构,主要包括把LIST递归成树形结构使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1.创建类
public class Node { public bool leaf { get; set; } public int FolderID { get; set; } public string iconCls { get; set; } public bool editable { get; set; } public bool expanded { get; set; } public int ParentFolderID { get; set; } public string text { get; set; } public bool InheritPerm { get; set; } //public string CreateDate { get; set; } //public string CreateBy { get; set; } public Node[] children { get; set; } }
2.从数据库获取数据转化成LIST
3.递归构建树形结构
public static string GetTree(List<Node> nodes) { var list = nodes.FindAll(a => a.ParentFolderID == 1);//最顶级的目录 foreach (var node in list) { if (node.text == "01.通讯录") { node.children = new Node[] { };//必须为空数组,不能为NULL,否则前端树节点会有错误 } GetTree(node, nodes); } return JsonConvert.SerializeObject(list); } public static void GetTree(Node paretnNode, List<Node> nodes) { List<Node> nodelist = new List<Node>(); foreach (var node in nodes) { if (node.ParentFolderID == paretnNode.FolderID) { GetTree(node, nodes); if (node.children == null) { node.children = new Node[] { };//必须为空数组,不能为NULL,否则前端树节点会有错误 } nodelist.Add(node); paretnNode.children = nodelist.ToArray(); } } }
原文地址:https://www.cnblogs.com/xielideboke/p/12161453.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 重磅 | 青藤与腾讯安全隆重举办容器安全平台新品战略合作发布会
- 如何使用强化学习玩21点?
- 这3个Scikit-learn的特征选择技术,能够有效的提高你的数据预处理能力
- 使用神经网络解决拼图游戏
- 用机器学习预测收益
- 一种基于深度学习的低成本细胞生物学研究方法
- 从零搭建Spring Boot脚手架(2):增加通用的功能
- Qt官方示例-K线图
- 一个快速构造GAN的教程:如何用pytorch构造DCGAN
- 从0到1开发测试平台(八)后端服务添加lombok第三方类库
- 【CSS】470- 是时候开始用 CSS 自定义属性了
- 一个安卓App,如何成为DuerOS 上的技能应用呢?
- 什么是SPU、SKU、SKC、ARPU
- C++判断类型的模板
- 强化学习/增强学习/再励学习介绍 | 深度学习 | 干货分享 | 解读技术