C#树形图+递归

internal static string GetTree(NameValueCollection paras)
        {
            var canshu= paras["canshu"] ?? "";//参数
            ResponseMsg msg = new ResponseMsg();//响应消息体
            using (var db = new Entities())//使用EF模型
            {
                try
                {
                    var lstTable= db.Table.Where(i => i.CanShu== canshu).ToList();
                    if (lstTable.Count > 0)
                    {
                        msg.data = TableTree(lstTable, "");
                    }
                    else
                    {
                        msg.data = new JArray();
                    }
                }
                catch (Exception ex)
                {
                    msg.UpdateStatus(MsgCode.操作失败);
                }
            }
            msg.UpdateStatus(MsgCode.操作成功);
            return GYCommon.Json.GYJson.Serialize(msg);
        }
        private static JArray TableTree(List<Table> lstTable, string canshu)
        {
            var ja = new JArray();
            var lstTable2 = lstTable.Where(i => i.CanShu== canshu)//可以作为根节点的参数
                        			.ToList();
            if (lstTable2 .Count > 0)
            {
                foreach (var iTable2  in lstTable2 )
                {
                    var jo = new JObject();
                    jo["id"] = iTable2.CanShu1;
                    jo["title"] = iTable2.CanShu2;
                    jo["PGUID"] = iTable2.CanShu;
                    jo["APPFlag"] = iTable2.CanShu3;
                    JArray _Children = TableTree(lstTable, iTable2.CanShu3);
                    jo["children"] = _Children;
                    ja.Add(jo);
                }
                return ja;
            }
            else
            {
                return ja;
            }
        }
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值