public void TansEntitiesToGenerTree(Entities ens, string rootNo, string checkIds) { EntityMultiTree root = ens.GetEntityByKey(rootNo) as EntityMultiTree; if (root == null) { throw new Exception("@没有找到rootNo=" + rootNo + "的entity."); } appendMenus.Append("[{"); appendMenus.Append("\"id\":\"" + rootNo + "\""); appendMenus.Append(",\"text\":\"" + root.Name + "\""); //attributes BP.WF.Template.FlowFormTree formTree = root as BP.WF.Template.FlowFormTree; if (formTree != null) { string url = formTree.Url == null ? "" : formTree.Url; url = url.Replace("/", "|"); appendMenus.Append(",\"attributes\":{\"NodeType\":\"" + formTree.NodeType + "\",\"Url\":\"" + url + "\"}"); } // 增加它的子级. appendMenus.Append(",\"children\":"); AddChildren(root, ens, checkIds); appendMenus.Append(appendMenuSb); appendMenus.Append("}]"); }
public void AddChildren(EntityMultiTree parentEn, Entities ens, string checkIds) { appendMenus.Append(appendMenuSb); appendMenuSb.Clear(); appendMenuSb.Append("["); foreach (EntityMultiTree item in ens) { if (item.ParentNo != parentEn.No) { continue; } if (checkIds.Contains("," + item.No + ",")) { appendMenuSb.Append("{\"id\":\"" + item.No + "\",\"text\":\"" + item.Name + "\",\"checked\":true"); } else { appendMenuSb.Append("{\"id\":\"" + item.No + "\",\"text\":\"" + item.Name + "\",\"checked\":false"); } //attributes BP.WF.Template.FlowFormTree formTree = item as BP.WF.Template.FlowFormTree; if (formTree != null) { string url = formTree.Url == null ? "" : formTree.Url; string ico = "icon-tree_folder"; url = url.Replace("/", "|"); appendMenuSb.Append(",\"attributes\":{\"NodeType\":\"" + formTree.NodeType + "\",\"Url\":\"" + url + "\"}"); //图标 if (formTree.NodeType == "form|0") { ico = "form0"; } if (formTree.NodeType == "form|1") { ico = "form1"; } if (formTree.NodeType.Contains("tools")) { ico = "icon-4"; } appendMenuSb.Append(",iconCls:\""); appendMenuSb.Append(ico); appendMenuSb.Append("\""); } // 增加它的子级. appendMenuSb.Append(",\"children\":"); AddChildren(item, ens, checkIds); appendMenuSb.Append("},"); } if (appendMenuSb.Length > 1) { appendMenuSb = appendMenuSb.Remove(appendMenuSb.Length - 1, 1); } appendMenuSb.Append("]"); appendMenus.Append(appendMenuSb); appendMenuSb.Clear(); }