当前位置:编程学习 > C#/ASP.NET >>

求助:循环从Service取数据生成TreeView个各级Nodes

部分代码如下:
下面代码,通过传给Service父级名称(ct.ParentDsc = "基本类";)和所在级的级编号(ct.CatLevelDsc = "big";)已经实现生成树的第一级节点。现需要判断第一级的每个节点下是否有子级,如果有则需要生成新的节点,以此类推。树总共有三级
级别编号分别为"big";"middle";"small";


List<string> list_CtProduct = new List<string>();

                Rayda.i8.Product.CompositeTypeProductCategory ct = new Rayda.i8.Product.CompositeTypeProductCategory();

                ct.ParentDsc = "基类";

                ct.CatLevelDsc = "big";

                ret = localServiceProduct.SearchProductCategoryDetail(ct, ref list_CtProduct);


                foreach (string t in list_CtProduct)
                {
                    if (t == null)
                    {
                        continue;
                    }
                   
                    TreeNode pNode = new TreeNode();
                    pNode.Text = t.ToString();
                    this.TreeView1.Nodes.Add(pNode); --------------------编程问答-------------------- --------------------编程问答-------------------- 顶下没用,能帮忙解决问题才好啊,呵呵! --------------------编程问答-------------------- 你有方法拿到子级么 --------------------编程问答-------------------- 如果我给Service传的是ct.ParentDsc = pNode.Text;ct.CatLevelDsc = "middle";Service就会传回该node下的所有子级。
--------------------编程问答-------------------- 加载取一层,点一层取此层子层......
--------------------编程问答-------------------- 不就是一个递归的过程嘛,不难吧? --------------------编程问答-------------------- 服务器我不懂..但是写个别的吧...
希望对你有用..

void DG(string paths,TreeNode TN)     //递归变的在外面,不变的在里面
{
    string[] DirAddr=Directory.GetDirectoryes(paths);
    foreach(string s in DirAddr)
      {
          TreeNode tn=TN.Nodes.Add(s);
          DG(s,tn);
      }


    string[] fileArr=Directory.GetFiles(paths);   //遍历文件夹的文件
    foreach(string ss in fileArr)
      {
          TN.Nodes.Add(ss);
      }
      
}

--------------------编程问答--------------------
引用 4 楼 pengqinke 的回复:
如果我给Service传的是ct.ParentDsc = pNode.Text;ct.CatLevelDsc = "middle";Service就会传回该node下的所有子级。

你既然能拿到某个节点下的所有子级了不就可以做了,判断某父节点是否有子节点,有的话就递归绑定咯 --------------------编程问答-------------------- 递归呗。
doit(){
if(??){
doit();
}
} --------------------编程问答--------------------
引用 8 楼 iovswety 的回复:
引用 4 楼 pengqinke 的回复:
如果我给Service传的是ct.ParentDsc = pNode.Text;ct.CatLevelDsc = "middle";Service就会传回该node下的所有子级。

你既然能拿到某个节点下的所有子级了不就可以做了,判断某父节点是否有子节点,有的话就递归绑定咯


大虾!要是我知道怎么写就不发帖了!方便的话写个例子吧!
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,