/// <summary> /// 获取组织结构树 /// </summary> /// <param name="list"></param> /// <param name="id"></param> /// <param name="treeNodes"></param> /// <returns></returns> static void GetOrganizeSelectTreeNodes(List<BaseOrganizeEntity> list, string id, ref List<SelectTreeNode> treeNodes) { if (list == null) return ; List<BaseOrganizeEntity> sublist; if (!string.IsNullOrWhiteSpace(id)) { sublist = list.Where(t => t.ParentId == id).ToList(); } else { sublist = list.Where(t => string.IsNullOrWhiteSpace(t.ParentId)).ToList(); } if (!sublist.Any()) return; foreach (var item in sublist) { treeNodes.Add(new SelectTreeNode() { id = item.Id, name = item.FullName, parentId = item.ParentId }); GetOrganizeSelectTreeNodes(list, item.Id, ref treeNodes); } }