求助:循环从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);
}
}
--------------------编程问答--------------------
你既然能拿到某个节点下的所有子级了不就可以做了,判断某父节点是否有子节点,有的话就递归绑定咯 --------------------编程问答-------------------- 递归呗。
doit(){
if(??){
doit();
}
} --------------------编程问答--------------------
大虾!要是我知道怎么写就不发帖了!方便的话写个例子吧!
补充:.NET技术 , C#