1

私の立場が葉だった場合、2番目の父親を取得する方法。

例えば ​​:

1 ----> 2 ----> 3

また

1 ----> 2 ----> 3 ----> 4

また

1 ----> 2 ----> 3 ----> 4 ----> 5

私が最後のノードにいる場合(3 or 4 or 5

ノード(2)のテキストを取得するにはどうすればよいですか?


    foreach (RadTreeNode node in nodeCollection)
    {
        if (node.Nodes.Count == 0)//leaf
        {
            if (!node.Value.TrimEnd().Contains('#'))
            {
                GroupDetails grp_d = new GroupDetails();

                grp_d.Boss_code = 0;
                grp_d.Boss_name = string.Empty;
                if (node.Value.TrimEnd().Split('_').Count() > 2)
                {
                    grp_d.Boss_code = int.Parse(node.Value.TrimEnd().Split('_')[2]);
                    grp_d.Boss_name = node.Value.TrimEnd().Split('_')[3];
                }
                grp_d.Dep_code = int.Parse(node.Value.TrimEnd().Split('_')[0]);
                grp_d.Dep_name = node.Text.TrimEnd() //Here i want to get the second parent text to concatenate  
                grp_d.Dep_year = int.Parse(node.Value.TrimEnd().Split('_')[1]);
                grp_d.Group_id = res;
                grp_det.Add(grp_d);

            }
        }
    }
4

2 に答える 2

1
while( node.parent != null )
 node = node.parent;

return node.child;

子が1つだけであると仮定します(つまり、ノード(2))

ツリーをトラバースする論理的な方法を提案するだけです。実装はあなたとあなたのシステム設計次第です!

于 2013-03-12T14:19:07.970 に答える
0
RadTreeNode node_tmp = new RadTreeNode();
      node_tmp = node;
          while (node_tmp.ParentNode != null)
                {
                   p_txt = node_tmp.Text.TrimEnd();
                   node_tmp = node_tmp.ParentNode;

                }
于 2013-03-13T07:39:40.943 に答える