/// <summary> /// 遍历获取子节点Guid /// </summary> /// <param name="parentNode"></param> /// <param name="CheckedTreeNodes"></param> /// <returns></returns> private void GetChildNodeGuid(DictTreeResponse parentNode, List <DictTreeResponse> CheckedTreeNodes) { foreach (var item in CheckedTreeNodes) { if (!string.IsNullOrEmpty(item.value)) { ChildNodeGuidList.Add(new Guid(item.value));//添加字典唯一Guid if (item.value.ToUpper() == parentNode.value.ToUpper()) { GetChildNodeGuid(item, parentNode.children); } } } }
/// <summary> /// 递归加载获取子节点 /// </summary> /// <param name="list"></param> /// <param name="parentGuid"></param> /// <returns></returns> private void AddChildData(DictTreeResponse parentNode, Guid parentGuid) { //获取子节点 GetDictionaryRequest requestRoot = new GetDictionaryRequest(); requestRoot.ParentGuid.Add(parentGuid); List <DictionaryItem> listDictChild = dictionaryRepository.GetDictionary(requestRoot); foreach (var item in listDictChild) { DictTreeResponse dtNode = new DictTreeResponse(); if (item.ParentGuid == parentGuid) { dtNode.value = item.DictGuid.ToString(); //字典表key dtNode.label = item.SysDictValue; //字典显示名称 parentNode.children.Add(dtNode); AddChildData(dtNode, item.DictGuid); } } }
/// <summary> /// 添加根节点 /// </summary> /// <param name="parentData"></param> /// <param name="parentGuid"></param> /// <returns></returns> private void AddRootData() { //获取根节点 GetDictionaryRequest requestRoot = new GetDictionaryRequest(); requestRoot.DictGuid.Add(new Guid("2E9AED60-7EF3-477D-ABE3-0541F7DA3501")); requestRoot.DictGuid.Add(new Guid("D7459004-5E26-43C7-B066-7F93F29D9A34")); requestRoot.DictGuid.Add(new Guid("1A930526-9F51-41BC-AC35-C890D0B60918")); requestRoot.DictGuid.Add(new Guid("0E0E674D-BBDF-4C3E-85AE-362E8FA5F3D5")); requestRoot.DictGuid.Add(new Guid("AA98545B-495F-46FE-AA90-25C418E96C8C")); List <DictionaryItem> listDictRoot = dictionaryRepository.GetDictionary(requestRoot);//获取根节点 foreach (var item in listDictRoot) { DictTreeResponse dtNode = new DictTreeResponse(); dtNode.value = item.DictGuid.ToString(); //字典表key dtNode.label = item.SysDictValue; //字典显示名称 responseTreeNodeList.Add(dtNode); AddChildData(dtNode, item.DictGuid); } }