60 lines
1.6 KiB
C#
60 lines
1.6 KiB
C#
![]() |
/*******************************************************************************
|
|||
|
* Copyright © 2016 HT.Cloud.Framework 版权所有
|
|||
|
* Author: HT.Cloud
|
|||
|
* Description: WaterCloud快速开发平台
|
|||
|
* Website:
|
|||
|
*********************************************************************************/
|
|||
|
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Text;
|
|||
|
|
|||
|
namespace HT.Cloud.Code
|
|||
|
{
|
|||
|
public static class TreeGrid
|
|||
|
{
|
|||
|
public static string TreeGridJson(this List<TreeGridModel> data)
|
|||
|
{
|
|||
|
StringBuilder sb = new StringBuilder();
|
|||
|
sb.Append(TreeGridJson(data, "0"));
|
|||
|
return sb.ToString();
|
|||
|
}
|
|||
|
|
|||
|
private static string TreeGridJson(List<TreeGridModel> data, string parentId)
|
|||
|
{
|
|||
|
StringBuilder sb = new StringBuilder();
|
|||
|
var ChildNodeList = data.FindAll(t => t.parentId == parentId);
|
|||
|
sb.Append("[");
|
|||
|
if (ChildNodeList.Count > 0)
|
|||
|
{
|
|||
|
foreach (TreeGridModel entity in ChildNodeList)
|
|||
|
{
|
|||
|
string strJson = entity.ToJson() + ",";
|
|||
|
strJson = strJson.Insert(1, "\"children\":" + TreeGridJson(data, entity.id) + ",");
|
|||
|
sb.Append(strJson);
|
|||
|
}
|
|||
|
sb = sb.Remove(sb.Length - 1, 1);
|
|||
|
}
|
|||
|
|
|||
|
sb.Append("]");
|
|||
|
return sb.ToString().Replace("}{", "},{");
|
|||
|
}
|
|||
|
|
|||
|
public static List<TreeGridModel> TreeList(this List<TreeGridModel> data)
|
|||
|
{
|
|||
|
return TreeList(data, "0");
|
|||
|
}
|
|||
|
|
|||
|
private static List<TreeGridModel> TreeList(List<TreeGridModel> data, string parentId)
|
|||
|
{
|
|||
|
var ChildNodeList = data.FindAll(t => t.parentId == parentId);
|
|||
|
if (ChildNodeList.Count > 0)
|
|||
|
{
|
|||
|
foreach (TreeGridModel entity in ChildNodeList)
|
|||
|
{
|
|||
|
entity.children = TreeList(data, entity.id);
|
|||
|
}
|
|||
|
}
|
|||
|
return ChildNodeList;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|