我正在根据 DB 中的值以编程方式将树节点添加到 TreeView
。
我之前需要给那些节点添加子节点。找到它们的唯一方法是通过 myReportsNode.ChildNodes[int index]
,但此信息对我来说毫无用处,因为我需要通过它们的值或一些唯一 ID 来找到它们。
FindNode 不是一个好的选择,因为我不知道它们的确切位置,并且通过遍历树来查找每个节点是一种浪费。我想到了节点字典。
有什么想法吗?
最佳答案
您需要使用树遍历。如果存在某种排序,您可以确保将它们加载到反射(reflect)该排序的树中,并且您可以使用深度优先搜索并具有对数复杂度(与基于树的字典一样有效)。节点字典会浪费内存,因为您已经有了可以使用的树结构——也就是说,如果有某种排序的话。
如果您能给我们一些关于数据在树中的方式的想法,我可以提供更多帮助。
关于c# - 在 TreeView 中查找特定的树节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18703258/