当父节点处于展开状态时添加节点

2017-09-15 14:56:55
黄善超
3151
最后编辑:tmtony8 于 2017-09-15 15:24:52

       在某些事例中,你可能需要仅可见的节点添加至控件,当父节点处于展开状态,父节点的子项添加至控件。这对于你有大量数据是很有用处的,它将花费控件太长的时间去装载所有数据。

除非你添加子节点至控件, 否则控件不会显示作为父项的父节点。为弥补这点, 你必须靠使用NodeIsParent方法告知控件此节点是父节点。

例:

ctTree.AddNode "Pseudo Parent", 2, 1
ctTree.NodeIsParent( ctTree.Selected ) = TRUE

 

注意: 当你以上面的方式使一个节点成为父节点时,必须注意如果你不正确的控制你的父节点, 控件将不能以期望的方式显示数据。

此时, 控件与可视数据一起装载,所有的伪父节点必须打上真值父标志。下一步是检查展开事件以决定要被展开的节点是否有子项。如果没有,我们必须为父节点加载新的节点。 以下代码必须放置在控件的展开事件中。

 

If (ctTree.Children(nIndex) = 0) Then
        ctTree.Selected = nIndex
        For nCntr = 1 To nMaxItems
            ctTree.AddNode ("Item"), 2, 2
        Next
        ctTree.Selected = nIndex
End If