在treeview中如果动态判断改节点下面是否有字节点? sorrow_arrow()

sorrow_arrow 2002-01-17 10:52:51
在treeview的itempopulate 和 selectionchanged时间里面都怎么写?

我的意思,如果到了最后一个节点,点那个加号,或者双击最后一个节点就return

请说的详细写,我对这个treeview非常的陌生

...全文
161 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
liulee 2002-01-19
  • 打赏
  • 举报
回复

finditem没问题的。
fzymr 2002-01-18
  • 打赏
  • 举报
回复
不会吧,我用过很多次都没问题的
cjh211 2002-01-18
  • 打赏
  • 举报
回复
做好事,帮助你提前。
sorrow_arrow 2002-01-18
  • 打赏
  • 举报
回复
继续up
sorrow_arrow 2002-01-17
  • 打赏
  • 举报
回复
hande可是这个事件本身带的参数呀
pbworm 2002-01-17
  • 打赏
  • 举报
回复
你使用getItem判断一下这个handle是不是当前节点啊!
sorrow_arrow 2002-01-17
  • 打赏
  • 举报
回复
ti
sorrow_arrow 2002-01-17
  • 打赏
  • 举报
回复
sorrow_arrow 2002-01-17
  • 打赏
  • 举报
回复
呵呵,return就是返回什么也不做的意思
我在selectionchanged事件下面这样写:
if this.finditem(ChildTreeItem!,oldhandle) = -1 then return
还是
if this.finditem(ChildTreeItem!,newhandle) = -1 then return
好像都不行
在itempopulate事件下面这样写:
if this.finditem(ChildTreeItem!,handle) = -1 then return
也是不起作用。
上面的handle,oldhandle,newhandle都是相对应的事件下面的自带的参数

我写的是不是有问题呀?请大侠找出错误
咖啡 2002-01-17
  • 打赏
  • 举报
回复
在生成树形图的时候,如果没有子节点,直接把这个节点的children属性设置为false就行了。
fzymr 2002-01-17
  • 打赏
  • 举报
回复
在selectionchanged写上:
ll_tvi = tv_list.FindItem(ChildTreeItem!, handle)
如果返回-1说明没有子节点;

再itempopulate中
我一般是从数据库中得到的数据,如果没有数据,说明没有子节点了。

高手能不能看看这个帖子:
http://www.csdn.net/Expert/topic/482/482144.shtm
pbworm 2002-01-17
  • 打赏
  • 举报
回复
return什么意思啊?
如果只是判断当前列表项有没有子节点的话,可以这样做
if fidnItem(ChildTreeItem!,itemHandle) = - 1 Then
messageBox('false','没有子节点')
End If
sincerity 2002-01-17
  • 打赏
  • 举报
回复
最好的办法就是在生成树的时候设置好 children 属性,简单明了。
fzymr 2002-01-17
  • 打赏
  • 举报
回复
selectionchanged事件第一句写上
if newhandle < 1 THEN return

401

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 非技术版
社区管理员
  • 非技术版社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧