C# IEnumerable、LinkQ递归查询
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C# IEnumerable、LinkQ递归查询,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1963字,纯文字阅读大概需要3分钟。
内容图文
递归查询
private string InitMenuBtnTreeNodeByCyb() { try { S_MenuManager manager = new S_MenuManager(); DataTable dt = manager.GetMenuList(); string rootid = Request.Form["RootID"]; List<tmp_menu> list_data = new List<tmp_menu>(dt.Rows.Count); foreach (DataRow dr in dt.Rows) { list_data.Add(new tmp_menu { MENUID = dr["MENUID"].ToString(), MENUNAME = dr["MENUNAME"].ToString(), PARENTID=dr["PARENTID"].ToString(), ID=dr["ID"].ToString(), MID= dr["MID"].ToString(), MENUORDER =dr["MENUORDER"].ToString() }) ; } string json = "[" + GetCheckNodeString_by_cyb(list_data, rootid) + "]"; return (json); } catch { throw; } } public static string GetCheckNodeString_by_cyb(List<tmp_menu> list_data, string parentid) { StringBuilder strTreeJson = new StringBuilder(); string menuno; List<tmp_menu> list_child; IEnumerable<tmp_menu> enumerable = from m in list_data where m.MENUID == parentid select m; foreach (tmp_menu item in enumerable) { strTreeJson.Append("{"); menuno = item.MID.Length == 0 ? item.MID + "-" + item.ID : item.ID; strTreeJson.Append(" id :\'" + menuno + "\', checked : false ,text : \'" + item.MENUNAME + "\' ,qtip:\'" + item.MENUID + "\',"); list_child = list_data.Where(m=>m.PARENTID==item.MENUID&&m.MENUID!=item.PARENTID).ToList(); if (list_child.Count>0) { strTreeJson.Append("children : ["); foreach (tmp_menu child in list_child) { if (child!=list_child[0]) { strTreeJson.Append(","); } strTreeJson.Append(GetCheckNodeString_by_cyb(list_child, child.MENUID)); } strTreeJson.Append("]"); strTreeJson.Append("}"); } } return strTreeJson.ToString(); } public class tmp_menu { /// <summary> /// 菜单ID /// </summary> public string MENUID { get; set; } /// <summary> /// 菜单名称 /// </summary> public string MENUNAME { get; set; } /// <summary> /// 父节点 /// </summary> public string PARENTID { get; set; } /// <summary> /// 内码 /// </summary> public string ID { get; set; } /// <summary> /// MID /// </summary> public string MID { get; set; } /// <summary> /// 菜单顺序 /// </summary> public string MENUORDER { get; set; } }
内容总结
以上是互联网集市为您收集整理的C# IEnumerable、LinkQ递归查询全部内容,希望文章能够帮你解决C# IEnumerable、LinkQ递归查询所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。