我有一个树视图Json对象是
{
"Name": "Root",
"Id": "-1",
"ParentId": "null",
"children": [
{
"Name": "Math",
"Id": "1",
"ParentId": "-1",
"children": [
{
"Name": "Addition",
"Id": "3",
"ParentId": "1",
"children": [
{
"Name": "Two Numbers",
"Id": "5",
"ParentId": "3",
"children": []
},
{
"Name": "Three Numbers",
"Id": "6",
"ParentId": "3",
"children": []
}
]
},
{
"Name": "Substraction",
"Id": "4",
"ParentId": "1",
"children": [
{
"Name": "Four Numbers",
"Id": "7",
"ParentId": "4",
"children": []
},
{
"Name": "Five Numbers",
"Id": "8",
"ParentId": "4",
"children": []
}
]
}
]
},
{
"Name": "English",
"Id": "1",
"ParentId": "-1",
"children": []
}
],
"selected": "selected"
}
如果我选择“两个数字”叶子节点,mytree.currentNode.Name只显示“两个数字”,但我想从叶子节点的深度显示。 “根/数学/加法/两个数字”
有没有办法显示?
请帮我。提前致谢
答案 0 :(得分:0)
你所采取的设计决策让你难以获得整个深度。
存储分层数据的方法有两种。使用引用或使用ID。不要混搭。
如果保留父项的引用,而不是ParentId,那么您将非常容易地沿着整个树行走。
如果要使用父ID,则使用ID和对象的字典而不是嵌套子项。通过这种方式,您也可以非常轻松(快速)遍历树