private static bool IsRoot(Treenode node) { if (string.IsNullOrEmpty(node.ParentID) || node.ParentID == "0" || node.ParentID == Guid.Empty.ToString()) { return(true); } return(false); }
private static void ResortList(Treenode node, List <Treenode> list, ref List <Treenode> rsList) { foreach (var n in node.Childs) { rsList.Add(n); ResortList(n, list, ref rsList); } }
/// <summary> /// 获取树的深度 /// </summary> /// <param name="tn"></param> /// <param name="listSource"></param> /// <returns></returns> public static int GetTreeDepth(Treenode tn, List <Treenode> listSource) { int maxCOunt = 500; int rs = 0; while (tn != null && !IsRoot(tn)) { tn = listSource.Where(x => x.ID == tn.ParentID).FirstOrDefault(); rs++; if (rs > maxCOunt) { break; } } return(rs); }