存储TreeView节点以进行过滤

时间:2012-08-17 22:33:39

标签: c# treeview

我之前使用DataGridView完成了此操作,但有一些方法可以屏蔽可见的TreeView节点,以便在TextChanged事件中我可以隐藏/过滤不包含{的节点{1}}文字?我有很多节点。

目前,这是有效的,但它是一个“仅删除”功能,如果我从TextBox删除一些文本,则不会添加节点。提前致谢。

textBox

2 个答案:

答案 0 :(得分:1)

也许保留一个'Master'节点,所有节点都作为内存中的子节点。如果没有搜索文本,则只需将其添加到树视图中。然后,如果输入了搜索文本,请通过“主”节点并使用它创建另一个过滤节点(将所需节点作为子节点)并将其添加到树视图中。

基本上你只是在节点上创建2个集合。我有所有节点(永久)和另一个只有所需节点(临时)的副本。

答案 1 :(得分:0)

您无法使节点不可见(您必须添加/删除它) 为什么 因为如何使一个节点可见并且他的子节点可见它将很难(想象十个嵌套节点,其中5个不好......) 另一种解决方案是存储树视图(在树视图中设置不可见或在数据表中但更复杂)并显示树视图,因此如果删除节点,它只在重复的树视图上(不可见的树视图将保留,而您不会丢失节点)