【发布时间】:2011-05-31 21:46:14
【问题描述】:
我有一个包含任意数量节点的TreeView。用户可以检查TreeView 中的任何节点,并且只要他们单击一个按钮,我就想修剪除已检查节点及其父节点之外的所有内容。我已经设置了所有按钮,它调用了一个应该修剪节点的方法,我遇到的问题是修剪背后的逻辑。即使是伪代码也会有所帮助。我知道它需要是递归的,应该从最外面的节点开始,一直往上走,但我似乎想不出递归。
我不在乎它是直接修剪TreeView,还是创建一个我可以绑定的新List<TreeNode>。
任何帮助将不胜感激,谢谢。
解决方案: InBetween 的解决方案解决了我的逻辑问题,但还有一个问题。您必须从其父节点中删除节点。所以你不能只做TreeView.Remove(node) 你必须做ParentNode.ChildNodes.Remove(node)。
【问题讨论】:
标签: c# asp.net treeview treenode