Esempio n. 1
0
 private static bool IsRoot(Treenode node)
 {
     if (string.IsNullOrEmpty(node.ParentID) || node.ParentID == "0" || node.ParentID == Guid.Empty.ToString())
     {
         return(true);
     }
     return(false);
 }
Esempio n. 2
0
 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);
     }
 }
Esempio n. 3
0
        /// <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);
        }