TreeView对象选择某节点下所有节点与子节点

//
//
// 函数: of_deselectall
//
// 属性: public   
//
// 参数: long al_handle
//
// 返回: integer
//
// 功能:
// 如果是子节点,选择本级节点下的所有子节点~
//
//

//声明
long            ll_hdl[]
long            ll_parent
long            ll_handle
integer         li_cnt
boolean         lb_result
treeviewitem    lt_tvi
string          label


li_cnt = 1
ll_hdl[1] = al_handle
if GetItem(ll_hdl[li_cnt], lt_tvi) = -1 then return -1
if not lt_tvi.children then
 return 1
end if 

do while li_cnt > 0
   if GetItem(ll_hdl[li_cnt], lt_tvi) = -1 then return -1
 
 //代码 
 //写判断

 
 if lt_tvi.children then
  li_cnt ++
  ll_hdl[li_cnt] = FindItem(ChildTreeItem!, ll_hdl[li_cnt - 1])
 else
    ll_hdl[li_cnt] = FindItem(NextTreeItem!, ll_hdl[li_cnt])
 end if 
 
 do while ll_hdl[li_cnt] <= 0
  li_cnt --
    if li_cnt = 0 then exit
    ll_hdl[li_cnt] = FindItem(NextTreeItem!, ll_hdl[li_cnt])
  
    if ll_hdl[li_cnt] = -1 then CONTINUE
  
    lb_result = false
    ll_handle = ll_hdl[li_cnt]
    ll_parent = FindItem(ParentTreeItem!,ll_handle)
    DO UNTIL ll_parent = FindItem(RootTreeItem!, 0)
   if al_handle = ll_parent then
    lb_result = true
   end if 
   ll_handle = ll_parent
   ll_parent = FindItem(ParentTreeItem!,ll_handle)
  loop  
  
  if lb_result = true then
   CONTINUE
    else
   li_cnt = 0
   exit
  end if
 loop 
loop

return 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值