无限级别读取子节点,或下级多子节点无限读取解决方案
时间:2011-12-19
来源:互联网
看了有问这个的,刚才自己也在做,就帖一个分享下,希望我的case能够适用于您
因为公司机密问题,部分方法已经被删除,备注很详细,数据层换成自己的,就行了
C# code
BD
id 用户ID 上级节点人ID 推荐人ID
86 100000 100000 100000
79 100001 100000 100000
79 100005 100000 100000
79 100006 100000 100000
81 100002 100001 100000
83 100003 100002 100002
85 100004 100003 100002
79 100007 100002 100000
79 100007 100007 100000
因为公司机密问题,部分方法已经被删除,备注很详细,数据层换成自己的,就行了
C# code
private void GetSourceID(string id) { //获取当前用户是否存在接点人,如果存在,获取接点人编号,然后计算该接点人相关分红,再次循环调用此方法 m.Uid = id; SuperiorID = core.GetSuperiorID(m);//当前接点人ID if (SuperiorID != id)//判断其接点人是否达到上限,此处设定为木有达到,将继续循环调用该方法{默认设置当前用户和当前用户的接点人的编号为同一个人时,当前用户为最高接点人} { ////存在接点人,判断两者间的权限 //获取接点人用户的级别 SuperiorLevel =core.GetUserLevel(SuperiorID); //储存接点人ID,待下次循环使用 id = SuperiorID; //{这里你已经获得当前的新ID} //利用获得的当前接点人ID去循环读取其是否还有上级接点人存在 GetSourceID(id); } }
BD
id 用户ID 上级节点人ID 推荐人ID
86 100000 100000 100000
79 100001 100000 100000
79 100005 100000 100000
79 100006 100000 100000
81 100002 100001 100000
83 100003 100002 100002
85 100004 100003 100002
79 100007 100002 100000
79 100007 100007 100000
作者: xuan0709 发布时间: 2011-12-19
这个用递归查询可以搞定
作者: ssp2009 发布时间: 2011-12-19
C# code
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { m.FatherID = Request.QueryString.Get("id"); System.Data.DataSet Ds = r.GetChild(m); IList<Model> model = new List<Model> { }; model.Add(new Model { ParentId = m.FatherID, ChildId = m.FatherID, UserName = m.FatherID }); GetChilds(Ds, model, m.FatherID); ListTable = model as List<Model>; } //Response.Write(Str); } private string temp; private void GetChilds(System.Data.DataSet Ds, IList<Model> model, string key) { for (int i = 0; i < Ds.Tables[0].Rows.Count; i++) { temp = Ds.Tables[0].Rows[i][1].ToString(); if (temp != key) { model.Add(new Model { ParentId = Ds.Tables[0].Rows[i][0].ToString(), ChildId = Ds.Tables[0].Rows[i][1].ToString(), UserName = Ds.Tables[0].Rows[i][2].ToString() }); m.FatherID = temp; System.Data.DataSet Dst = r.GetChild(m); GetChilds(Dst, model, temp); } } }
作者: xuan0709 发布时间: 2011-12-19
下面的才是
上面的给错了
哪是读一级的 下往上读的
上面的给错了
哪是读一级的 下往上读的
作者: xuan0709 发布时间: 2011-12-19
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28