Пример #1
0
        /// <summary>
        ///     根据当前节点,加载子节点
        /// </summary>
        /// <param name="treeEntitys">TreeEntity的集合</param>
        /// <param name="currTreeEntity">当前节点</param>
        private string GetChildNodes(IList <JsTreeEntity> treeEntitys,
                                     JsTreeEntity currTreeEntity)
        {
            StringBuilder childTrees = new StringBuilder();
            //当前节点是否还有下级
            IList <JsTreeEntity> childNodes = treeEntitys.Where(f => f.parent.ToString() == currTreeEntity.id.ToString()).ToList();

            if (childNodes.Count <= 0)
            {
                childTrees.Append($@" <li>
                            <a href='{(currTreeEntity.url.IsNullOrEmpty() ? "#" : currTreeEntity.url)}' class='ajaxify'><i class='fa {
                        (currTreeEntity.icon.IsNullOrEmpty() ? "fa-circle-o" : currTreeEntity.icon)
                    }'></i>{currTreeEntity.text}</a>
                        </li>");
            }
            else
            {
                childTrees.Append(string.Format(@"<li {3}>
                            <a class='menuParent' class='ajaxify' href='{0}' open-type='{4}'>
                                <i class='fa {1}'></i><span>{2}</span> 
                                <span class='pull-right-container'>
                                    <i class='fa fa-angle-left pull-right'></i>
                                </span>
                            </a><ul class='treeview-menu'>"
                                                , currTreeEntity.url.IsNullOrEmpty() ? "#" : currTreeEntity.url, currTreeEntity.icon.IsNullOrEmpty() ? "fa-tasks" : currTreeEntity.icon, currTreeEntity.text, currTreeEntity.parent.ToString() == Guid.Empty.ToString() ? "class='treeview'" : "", ""));
                //下面还有值
                foreach (var treeEntity in childNodes)
                {
                    childTrees.Append(GetChildNodes(treeEntitys, treeEntity));
                }
                childTrees.Append("</ul></li>");
            }
            return(childTrees.ToString());
        }
Пример #2
0
        /// <summary>
        ///     根据当前节点,加载子节点
        /// </summary>
        /// <param name="treeEntitys">TreeEntity的集合</param>
        /// <param name="returnTreeEntities"></param>
        /// <param name="currTreeEntity">当前节点</param>
        /// <param name="id">需要排除下级的id</param>
        private void GetJstreeChildNodesChildren(ref IList <JsTreeEntity> treeEntitys,
                                                 ref IList <JsTreeEntity> returnTreeEntities,
                                                 JsTreeEntity currTreeEntity
                                                 , Guid?id = null)
        {
            IList <JsTreeEntity> childNodes =
                treeEntitys.Where(f => f.parent.ToString() == currTreeEntity.id.ToString()).ToList();

            foreach (var treeEntity in childNodes)
            {
                if (id.ToString() != treeEntity.id.ToString())
                {
                    returnTreeEntities.Add(new JsTreeEntity
                    {
                        id     = treeEntity.id,
                        parent = treeEntity.parent,
                        icon   = treeEntity.icon,
                        text   = treeEntity.text,
                        state  = new JsTreeStateEntity()
                    });
                    GetJstreeChildNodesChildren(ref treeEntitys, ref returnTreeEntities, treeEntity, id);
                }
            }
        }