博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#实现一颗树!
阅读量:6825 次
发布时间:2019-06-26

本文共 1596 字,大约阅读时间需要 5 分钟。

1:  static List
entitiesList = null;
2:   
3:          internal static void Reload()
4:          {
5:              entitiesList = (from pc in iDepartmentsRepository.GetDepartments()
6:                              orderby pc.DeptName ascending
7:                              select pc).ToList();
8:          }
9:   
10:          #region 树型部门列表
11:          /// 
12:          /// 虚拟产品类别
13:          /// 
14:          /// 
虚拟产品类别列表
15:          public static Entity.OA.Department GetTree()
16:          {
17:              Reload();
18:              Entity.OA.Department root = new Entity.OA.Department();
19:              try
20:              {
21:                  root = entitiesList.Single(
22:                     item => item.DeptID.Equals(Entity.OA.Department.ROOTID));//获取跟节点
23:                  GetSubs(root);
24:   
25:              }
26:              catch (InvalidOperationException ex)
27:              {
28:                  ex.ToString();
29:              }
30:              return root;
31:          }
32:   
33:   
34:          /// 
35:          /// 根据父对象,找到子孙树
36:          /// 
37:          /// 父对象
38:          static public void GetSubs(Entity.OA.Department father)
39:          {
40:              father.SubList = entitiesList.Where(item =>
41:                  item.ParentID.Equals(father.DeptID)).ToList();
42:              father.SubList.ForEach(item =>
43:              {
44:                  item.Father = father;
45:                  GetSubs(item);
46:              });
47:   
48:          }

49: #endregion

本文转自博客园张占岭(仓储大叔)的博客,原文链接:,如需转载请自行联系原博主。

你可能感兴趣的文章
浏览器缓存 from memory cache与from disk cache详解
查看>>
php编译常用选项
查看>>
Docker Machine 简介
查看>>
Angular4错误提示的说明(一)
查看>>
CCNA+NP学习笔记—交换网络篇
查看>>
一张图说明Linux启动过程
查看>>
计算数据库中各个表的数据量和每行记录所占用空间的脚本-转载来自(博客园 桦仔)...
查看>>
解决本机不能访问虚拟机web服务器网站的问题
查看>>
Exchange常见问题大全
查看>>
安装Sublime Text 2插件的方法
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
Kubernetes NFS存储服务的误报
查看>>
meta设置
查看>>
sed 行编辑器知识汇总
查看>>
nginx升级OpenSSL
查看>>
C++中Timer的用法
查看>>
报表软件JS开发引用HTML DOM的location和document对象
查看>>
Windows7 Python-3.6 安装PyCrypto(pycrypto 2.6.1)出现错误以及解决方法
查看>>
《Linux学习并不难》Linux常用操作命令(14):grep命令查找文件中符合条件的字符串...
查看>>