• 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

  • 相关阅读:
    快速幂
    Oracle悲观锁和乐观锁
    UTL_RAW的问题?
    Linux操作系统下关于Top命令的参数详解
    存储过程与函数
    网站前端优化一些小经验
    Java获取各种常用时间方法2
    Pro CSS Techniques 读书笔记(六)
    Java获取各种常用时间方法
    Oracle专用服务器与共享服务器的区别
  • 原文地址:https://www.cnblogs.com/PBDragon/p/2395627.html
Copyright © 2020-2023  润新知