足力健后端,使用.netcore版本,合并1个项目使用

TreeGrid.cs 2.1KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. using System.Collections.Generic;
  2. using System.Text;
  3. namespace System.Common
  4. {
  5. public static class TreeGrid
  6. {
  7. public static string TreeGridJson(this List<TreeGridModel> data)
  8. {
  9. StringBuilder sb = new StringBuilder();
  10. sb.Append("{ \"rows\": [");
  11. sb.Append(TreeGridJson(data, -1, "0"));
  12. sb.Append("]}");
  13. return sb.ToString();
  14. }
  15. /// <summary>
  16. /// 方法重载 - 构造函数 (可自定义parendid的值)
  17. /// </summary>
  18. /// <param name="data"></param>
  19. /// <param name="parendid"></param>
  20. /// <returns></returns>
  21. public static string TreeGridJsonByParentId(this List<TreeGridModel> data,string parendid)
  22. {
  23. StringBuilder sb = new StringBuilder();
  24. sb.Append("{ \"rows\": [");
  25. sb.Append(TreeGridJson(data, -1, parendid));
  26. sb.Append("]}");
  27. return sb.ToString();
  28. }
  29. private static string TreeGridJson(List<TreeGridModel> data, int index, string parentId)
  30. {
  31. StringBuilder sb = new StringBuilder();
  32. var ChildNodeList = data.FindAll(t => t.parentId == parentId);
  33. if (ChildNodeList.Count > 0) { index++; }
  34. foreach (TreeGridModel entity in ChildNodeList)
  35. {
  36. string strJson = entity.entityJson;
  37. strJson = strJson.Insert(1, "\"loaded\":" + (entity.loaded == true ? false : true).ToString().ToLower() + ",");
  38. strJson = strJson.Insert(1, "\"expanded\":" + (entity.expanded).ToString().ToLower() + ",");
  39. strJson = strJson.Insert(1, "\"isLeaf\":" + (entity.isLeaf == true ? false : true).ToString().ToLower() + ",");
  40. strJson = strJson.Insert(1, "\"parent\":\"" + parentId + "\",");
  41. strJson = strJson.Insert(1, "\"level\":" + index + ",");
  42. sb.Append(strJson);
  43. sb.Append(TreeGridJson(data, index, entity.id));
  44. }
  45. return sb.ToString().Replace("}{", "},{");
  46. }
  47. }
  48. }