Files
HTCloud/HT.Cloud.Code/Web/TreeGrid/TreeGrid.cs
2023-03-03 16:07:50 +08:00

60 lines
1.6 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*******************************************************************************
* 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;
}
}
}