示例#1
0
        private List <CascaderNode> ConvertToCascaderNodes(List <NavigationMenu> listNavigationMenu, string ParentId)
        {
            List <CascaderNode> listCascaderNode = new List <CascaderNode>();
            var list = new List <NavigationMenu>();

            if (string.IsNullOrWhiteSpace(ParentId))
            {
                list = listNavigationMenu.Where(item => string.IsNullOrWhiteSpace(item.ParentId)).ToList();
            }
            else
            {
                list = listNavigationMenu.Where(item => item.ParentId == ParentId.Trim()).ToList();
            }
            foreach (NavigationMenu navigationMenu in list)
            {
                CascaderNode cascaderNode = new CascaderNode();
                cascaderNode.Label  = navigationMenu.Name;
                cascaderNode.Value  = navigationMenu.Id;
                cascaderNode.IsLeaf = !listNavigationMenu.Any(item => item.ParentId == navigationMenu.Id);
                if (!cascaderNode.IsLeaf)
                {
                    cascaderNode.Children = ConvertToCascaderNodes(listNavigationMenu, navigationMenu.Id);
                }
                listCascaderNode.Add(cascaderNode);
            }
            return(listCascaderNode);
        }
示例#2
0
        public static List <CascaderNode> AnimalTypeToCascaderNode(List <AnimalType> animalTypes)
        {
            List <CascaderNode> nodelist = new List <CascaderNode>();

            nodelist.AddRange(animalTypes.Where(p => p.Pid == "")
                              .Select(p => new CascaderNode()
            {
                Value = p.Id, Label = p.Type, Children = new List <CascaderNode>()
            }));

            foreach (var item in animalTypes.Where(p => p.Pid != ""))
            {
                CascaderNode node = new CascaderNode()
                {
                    Value = item.Id, Label = item.Type, Children = new List <CascaderNode>()
                };
                var tmp = GetCascaderNode(nodelist, item.Pid);
                if (tmp != null)
                {
                    tmp.Children = tmp.Children.Append(node).ToList();
                }
            }
            ChangeNodeValue(nodelist);
            return(nodelist);
        }
        private static CascaderNode Convert(TreeExtensions.ITree <Category> src)
        {
            var node = new CascaderNode()
            {
                Value = src.Data.Id.ToString(),
                Label = src.Data.Name
            };

            if (src.Children?.Count > 0)
            {
                var children = new List <CascaderNode>();
                foreach (var child in src.Children)
                {
                    children.Add(Convert(child));
                }
                node.Children = children;
            }

            return(node);
        }
示例#4
0
        private static CascaderNode Convert(TreeExtensions.ITree <CategoryDto> src, Guid current)
        {
            var node = new CascaderNode()
            {
                Value    = src.Data.Id.ToString(),
                Label    = src.Data.Name,
                Disabled = src.Data.Id == current || src.GetParents <CategoryDto>().Any(x => x.Id == current)
            };

            if (src.Children?.Count > 0)
            {
                var children = new List <CascaderNode>();
                foreach (var child in src.Children)
                {
                    children.Add(Convert(child, current));
                }
                node.Children = children;
            }

            return(node);
        }