treeview如下:
----项目
  |
  |-----大项1
  |       |---小项1
  |       |----小项2
  |
  |-----大项2
  |-----大项3
   
大项,小项都从数据库中获得,且各有相应的id值,当添加项目时,要获得数据中最大的id值,再自加一,作为新项目的id值,我不想从数据库中历遍,或者取最大值,有没有方法直接从treeview中得到?从数据库中提取所有项目时,我将id值输入到treeview.data中了。id值如'01','02','03'...顺序下去。

解决方案 »

  1.   

    不遍历数据库,还可以遍历TREEVIEW
      

  2.   

    to cg1120(代码最优化-§新年祝福你,好运伴着你§) 
    历遍treeview 是应该找items吗?应该如何找大项id时,
    我用for i=0 to treeview.items.count-1 找到的是所有的项,明明只有10各大项,出来的值有76了。
      

  3.   

    遍历treeview不如遍历DB好,因为treeview 不随时更新,而DB中的最大项很可能被其他用户更改了。
      

  4.   

    也对呀。
    可我就是不想动不动就
    qry1:tadoquery;
    qry1.conectstring:=""
      

  5.   

    var num,i:integer;
    begin
      deepth := 0;
      for i := 0 to treeview.nodes.count-1 do 
          if treeview.nodes[i].level = 0 then
             num := treeview.nodes[i].level;
    end;  icount:=1
     node:=treeview1.TopItem.getNextSibling;
     while node<>nil do  
    begin
      icount:=icount+1;
      node:=node.getNextSibling;
     end;