當(dāng)父節(jié)點(diǎn)處于展開狀態(tài)時(shí)添加節(jié)點(diǎn)

2017-09-15 14:56:55
黃善超
3537
最后編輯:tmtony8 于 2017-09-15 15:24:52

       在某些事例中,你可能需要僅可見的節(jié)點(diǎn)添加至控件,當(dāng)父節(jié)點(diǎn)處于展開狀態(tài),父節(jié)點(diǎn)的子項(xiàng)添加至控件。這對(duì)于你有大量數(shù)據(jù)是很有用處的,它將花費(fèi)控件太長(zhǎng)的時(shí)間去裝載所有數(shù)據(jù)。

除非你添加子節(jié)點(diǎn)至控件, 否則控件不會(huì)顯示作為父項(xiàng)的父節(jié)點(diǎn)。為彌補(bǔ)這點(diǎn), 你必須靠使用NodeIsParent方法告知控件此節(jié)點(diǎn)是父節(jié)點(diǎn)。

例:

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

 

注意: 當(dāng)你以上面的方式使一個(gè)節(jié)點(diǎn)成為父節(jié)點(diǎn)時(shí),必須注意如果你不正確的控制你的父節(jié)點(diǎn), 控件將不能以期望的方式顯示數(shù)據(jù)。

此時(shí), 控件與可視數(shù)據(jù)一起裝載,所有的偽父節(jié)點(diǎn)必須打上真值父標(biāo)志。下一步是檢查展開事件以決定要被展開的節(jié)點(diǎn)是否有子項(xiàng)。如果沒有,我們必須為父節(jié)點(diǎn)加載新的節(jié)點(diǎn)。 以下代碼必須放置在控件的展開事件中。

 

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

移動(dòng)訪問