部分代码如下:
下面代码,通过传给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);

解决方案 »

  1.   

    如果我给Service传的是ct.ParentDsc = pNode.Text;ct.CatLevelDsc = "middle";Service就会传回该node下的所有子级。
      

  2.   

    服务器我不懂..但是写个别的吧...
    希望对你有用..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);
          }
          
    }
      

  3.   

    递归呗。
    doit(){
    if(??){
    doit();
    }
    }