主要是看你的数据库设计,有些在设计库时已经有表示第几级的字段,到时候就可以通过主键来判断。即node.key来判断,node.key返回的是树的主键值字符型。
如果你单简单的来判断,可以用selectitem.parant来进行递归判断,直到没有parant,递归次数就是级数。等等……

解决方案 »

  1.   

    主要是看你的数据库设计,有些在设计库时已经有表示第几级的字段,到时候就可以通过主键来判断。即node.key来判断,node.key返回的是树的主键值字符型。
    如果你单简单的来判断,可以用selectitem.parant来进行递归判断,直到没有parant,递归次数就是级数。等等……
      

  2.   

    Node.Key 是字符串类型, 一般我都用它来表示对应该记录的ID字段?
    没有直接返回具体一个node的级数,我有两种方法可以解决:
    1:找父亲的方法,对指定的node循环找父亲,直到空为至,可得到级数(动态找节省空间而且灵活,但费时)。
    2:在加载时把级数存在key字符串内,如指定前二位为级数,后十位为ID(静态存储,特点与上相反)。
      

  3.   

    在节点的Path里面找分隔符号"\"的个数就可以确定下来了.
      

  4.   

    主要是看你的数据库设计,有些在设计库时已经有表示第几级的字段,到时候就可以通过主键来判断。即node.key来判断,node.key返回的是树的主键值字符型。
    如果你单简单的来判断,可以用selectitem.parant来进行递归判断,直到没有parant,递归次数就是级数。等等……
      

  5.   

    Dim i as Integer
    dim counter as integer   counter=0
       i=0
       do
          i=instr(i+1,Node.path,"\")
          if i>0 then
               counter=counter+1
          else
               exit do
          endif
       loop
      
       debug.print counter