using System.Collections.Generic; using System.Text; using Znyc.Admin.Commons.Json; namespace Znyc.Admin.Commons.Tree { /// <summary> /// /// </summary> public static class TreeSelect { /// <summary> /// /// </summary> /// <param name="data"></param> /// <returns></returns> public static string TreeSelectJson(this List<TreeSelectModel> data) { StringBuilder sb = new StringBuilder(); sb.Append("["); sb.Append(TreeSelectJson(data, 0, "")); sb.Append("]"); return sb.ToString(); } /// <summary> /// /// </summary> /// <param name="data"></param> /// <param name="ParentId"></param> /// <param name="blank"></param> /// <returns></returns> private static string TreeSelectJson(List<TreeSelectModel> data, int ParentId, string blank) { StringBuilder sb = new StringBuilder(); List<TreeSelectModel> ChildNodeList = data.FindAll(t => t.ParentId == ParentId); string tabline = ""; if (!string.IsNullOrEmpty(ParentId.ToString())) { tabline = " "; } if (ChildNodeList.Count > 0) { tabline = tabline + blank; } foreach (TreeSelectModel entity in ChildNodeList) { entity.text = tabline + entity.text; string strJson = entity.ToJson(); sb.Append(strJson); sb.Append(TreeSelectJson(data, entity.Id, tabline)); } return sb.ToString().Replace("}{", "},{"); } } }