TreeView组件的TreeView1Expanding过程,只想执行一次,怎么做?(100分)

  • 主题发起人 主题发起人 touchme_1
  • 开始时间 开始时间
T

touchme_1

Unregistered / Unconfirmed
GUEST, unregistred user!
第一次Expand后,执行一段数据库查询,将其子节点添加进当前Node,以后Expand,不再
执行,该怎么做?
 
TreeNode的Data属性可以存放指针。
用它存放指向结构的地址,可以根据结构中的某些值判断是否要再次执行
 
判断其是否有子节点,有则不执行,没有则执行
 
在expand事件的最后一句后加上一行:
treeview.onexpand:=nil

这样它就只会执行一次,
当你再需要时,再重新赋回就是了
 
agree amo,害我没法说了
 
//agree amo
 
接受答案了.
 
amo:
你的说法不对,按你所说,每一个节点都不再执行这段代码,而我想曾展开的节点
不再执行,而未曾展开的节点还要执行,该怎么做?

向大家求教!
 
好久的问题了,
对不起,很久没看了。

每个node都是一个TTreenode, 它有一个data属性(pointer类型)供特殊用途。
你可以用它的标记原来展开与否,再决定是否执行某些操作。
 
后退
顶部