如果我的位置是叶子,如何得到第二个父亲。
例如:
1 ----→2 ----→3
或
1 ----→2 ----→3 ----→4
或
1 ----→2 ----→3 ----→4 ----→5
如果我在最后一个节点(3 or 4 or 5
)
如何获取node(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);
}
}
}
答案 0 :(得分:1)
while( node.parent != null )
node = node.parent;
return node.child;
假设您只有一个孩子(即节点(2))
只是建议一种遍历树的逻辑方式。实施取决于您和您的系统设计!
答案 1 :(得分: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;
}