/// <summary> /// 递归获取子节点 /// </summary> /// <param name="pid">父节点参数</param> /// <returns></returns> private List <yyyu.Common.TreeList.TreeObject> GetChild(string pid) { yyyu.BLL.yyyu_tblSysMenu bll = new yyyu.BLL.yyyu_tblSysMenu(); DataTable dt = bll.GetList("Menu_ParentId=" + pid).Tables[0];//获取数据 List <yyyu.Common.TreeList.TreeObject> list = new List <yyyu.Common.TreeList.TreeObject>(); for (int i = 0; i < dt.Rows.Count; i++) { yyyu.Common.TreeList.TreeObject tree = new yyyu.Common.TreeList.TreeObject(); tree.Id = dt.Rows[i]["Menu_Id"].ToString(); tree.Name = dt.Rows[i]["Name"].ToString(); tree.Pid = dt.Rows[i]["Menu_ParentId"].ToString(); tree.ShowName = dt.Rows[i]["ShowName"].ToString(); if (dt.Rows[i]["NodeUrl"].ToString() == "" || dt.Rows[i]["NodeUrl"] == null) { tree.url = ""; } else { tree.url = dt.Rows[i]["NodeUrl"].ToString(); } DataTable dt1 = bll.GetList("Menu_ParentId=" + tree.Id).Tables[0];//获取数据 if (dt1 != null) { tree.Children = GetChild(tree.Id); } list.Add(tree); } return(list); }
/// <summary> /// 将DataTable获取到的值转化为树级结构list /// </summary> /// <param name="dt"></param> /// <returns></returns> private List <yyyu.Common.TreeList.TreeObject> GetPNode(DataSet ds) { List <yyyu.Common.TreeList.TreeObject> list = new List <yyyu.Common.TreeList.TreeObject>(); if (ds.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { if (ds.Tables[0].Rows[i]["Menu_ParentId"].ToString() == "-1") { yyyu.Common.TreeList.TreeObject tree = new yyyu.Common.TreeList.TreeObject(); tree.Id = ds.Tables[0].Rows[i]["Menu_Id"].ToString(); tree.Name = ds.Tables[0].Rows[i]["Name"].ToString(); tree.ShowName = ds.Tables[0].Rows[i]["ShowName"].ToString(); if (ds.Tables[0].Rows[i]["NodeUrl"].ToString() == "" || ds.Tables[0].Rows[i]["NodeUrl"] == null) { tree.url = ""; } else { tree.url = ds.Tables[0].Rows[i]["NodeUrl"].ToString(); } tree.Pid = "-1"; tree.Children = GetChild(tree.Id); list.Add(tree); } } } return(list); }