一个关于treeview的问题,大家帮忙解释一下:)

                            
我要在treeview上显示一个记录集中的内容,记录集两个字段,id和name.我想让节点的text显示字段name,让节点的data存储id的值.   
      大家帮忙看看我错在哪里:  
  var  
      pid:   ^integer;  
  begin  
      new(pid);  
      TreeView1.items.clear;  
      with   Query   do  
      begin  
          close;  
          sql.clear;  
          sql.text   :=   'select   id,name   from   t1';  
          open;  
          if   recordcount   =   0   then   exit;  
          while   not   eof   do  
          begin  
              pid^   :=   fieldbyname('id').asInteger;  
              TreeView1.addObject(nil,fieldbyname('name').asstring,pid);  
              next;  
          end;  
      end;  
  end;  
   
      最后的结果是节点添加成功了,但是每个节点的data转化成Integer都成一样的了,都是记录集的最后一条id的值.每个节点都是个独立的对象它们的data值应该互不影响才对啊,大家给我指点指点~

查看回复