Model 递归
public class MenuList
{
private List<MenuList> children = new List<MenuList>();
[DataField("departName")]
public int Id { get; set; }
public string? Name { get; set; }
public int PId { get; set; }
public string? Icon { get; set; }
public string? Path { get; set; }
public List<MenuList> Children { get { return children; } set { children = value; } }
}
public List<TalkModel> GetMenuList()
{
var sql = "select * from s_menu ";
var dt = db.ExecuteDataTable(sql);
List<TalkModel> list = new();
for (int i = 0; i < dt.Rows.Count; i++)
{
if (Convert.ToInt32(dt.Rows[i]["pid"]) == 0)
{
list.Add(new TalkModel
{
Id = Convert.ToInt32(dt.Rows[i]["id"]),
Name = dt.Rows[i]["name"].ToString(),
PId = Convert.ToInt32(dt.Rows[i]["pid"]),
Icon = dt.Rows[i]["icon"].ToString(),
Path = dt.Rows[i]["path"].ToString()
});
}
else
{
list.ForEach(item =>
{
if (item.Id == Convert.ToInt32(dt.Rows[i]["pid"]))
{
TalkModel children = new()
{
Id = Convert.ToInt32(dt.Rows[i]["id"]),
Name = dt.Rows[i]["name"].ToString(),
PId = Convert.ToInt32(dt.Rows[i]["pid"]),
Icon = dt.Rows[i]["icon"].ToString(),
Path = dt.Rows[i]["path"].ToString()
};
item.Children.Add(children);
}
});
}
}
return list;
}
2
public List<TalkModel> GetReplyComment(string onlycode, int id) { var sql = $"select * from l_talk where onlycode= '{onlycode}' and remarkId= {id}"; var res = db.ListOrDefault<TalkModel>(sql); var list = res.Where(x => x.PId == 0).ToList(); BuildTree(list, res); return list; } private static void BuildTree(List<TalkModel> list, List<TalkModel> res) { foreach (var item in list) { item.Children = res.Where(x => x.PId == item.Id).ToList(); BuildTree(item.Children, res); } }
model2
row["evaluteNoneStus"] = string.Join(",", dtEvalute.Where(x => x.StuWorkType == 1 || x.StuWorkType == 2).Select(x => x.stuName + "#" + x.markingRealName + "#" + x.UserName + "#" + x.StuWorkState));

浙公网安备 33010602011771号