| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- using System.Collections.Generic;
- using System.Text;
- namespace System.Common
- {
- public static class TreeGrid
- {
- public static string TreeGridJson(this List<TreeGridModel> data)
- {
- StringBuilder sb = new StringBuilder();
- sb.Append("{ \"rows\": [");
- sb.Append(TreeGridJson(data, -1, "0"));
- sb.Append("]}");
- return sb.ToString();
- }
- /// <summary>
- /// 方法重载 - 构造函数 (可自定义parendid的值)
- /// </summary>
- /// <param name="data"></param>
- /// <param name="parendid"></param>
- /// <returns></returns>
- public static string TreeGridJsonByParentId(this List<TreeGridModel> data,string parendid)
- {
- StringBuilder sb = new StringBuilder();
- sb.Append("{ \"rows\": [");
- sb.Append(TreeGridJson(data, -1, parendid));
- sb.Append("]}");
- return sb.ToString();
- }
- private static string TreeGridJson(List<TreeGridModel> data, int index, string parentId)
- {
- StringBuilder sb = new StringBuilder();
- var ChildNodeList = data.FindAll(t => t.parentId == parentId);
- if (ChildNodeList.Count > 0) { index++; }
- foreach (TreeGridModel entity in ChildNodeList)
- {
- string strJson = entity.entityJson;
- strJson = strJson.Insert(1, "\"loaded\":" + (entity.loaded == true ? false : true).ToString().ToLower() + ",");
- strJson = strJson.Insert(1, "\"expanded\":" + (entity.expanded).ToString().ToLower() + ",");
- strJson = strJson.Insert(1, "\"isLeaf\":" + (entity.isLeaf == true ? false : true).ToString().ToLower() + ",");
- strJson = strJson.Insert(1, "\"parent\":\"" + parentId + "\",");
- strJson = strJson.Insert(1, "\"level\":" + index + ",");
- sb.Append(strJson);
- sb.Append(TreeGridJson(data, index, entity.id));
- }
- return sb.ToString().Replace("}{", "},{");
- }
- }
- }
|