/// <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()); }
/// <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); } } }