查了以前的原贴 
:  http://search.csdn.net/Expert/topic/2281/2281015.xml?temp=.8000452
其中有问题根本不能实现;
  出现的问题正如最后一位发言所说,高手请帮忙解决,谢谢也就是说 
    while not ADOQuery1.Eof do
    Begin
      Newtreeview(tmpNode,ADOQuery1.FieldByName('ANIMAL_CODE').AsString,
                  ADOQuery1.FieldByName('ANIMAL_NAME').AsString);
      ADOQuery1.next;
其中ADOQuery1的值在递归后是改变了,而在中途满足条件的多条记录就出现问题,不能全部加进去,只能加一条

解决方案 »

  1.   

    http://blog.csdn.net/myy/   (BCB的例子)
      

  2.   

    谢谢 myy() ( ) 信誉:100 表结构 parent_id, id ,name1.把上面的表内容显示到 treeview上.
      
    已经实现树型结构了但是 显示的是ID 不是NAME  代码如下 :请问高手怎么修改显示NAME
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      i,j:integer;
      s,s1:string;
      node,subnode:TTreeNode;
      m,n,m1,n1:integer;
    begin
      m1:=0;
      form1.TreeView1.Items.Clear;
      form1.Table1.Open;
      form1.Table1.First;
      i:=form1.Table1.RecordCount;
      if i>0 then
      begin
        for j:=0 to i-1 do
        begin
          s:=form1.Table1.FieldValues['pareant_id'];
          s1:=form1.Table1.FieldValues['id'];
          m:=form1.TreeView1.Items.Count;
          if m=0 then
          begin
            node:=form1.TreeView1.Items.Add(nil,s);
            node.ImageIndex:=0;
            node.SelectedIndex:=2;
            subnode:=form1.TreeView1.Items.AddChild(node,s1);
            subnode.ImageIndex:=1;
            subnode.SelectedIndex:=3;
          end
          else
          begin
            for n:=0 to m-1 do
            begin
              if form1.TreeView1.Items.Item[n].Text=s then
              begin
                m1:=m1+1;
                n1:=n;
              end;
            end;
            if m1=0 then
            begin
              node:=form1.TreeView1.Items.Add(nil,s);
              node.ImageIndex:=0;
              node.SelectedIndex:=2;
              subnode:=form1.TreeView1.Items.AddChild(node,s1);
              subnode.ImageIndex:=1;
              subnode.SelectedIndex:=3;
            end
            else
            begin
              subnode:=form1.TreeView1.Items.AddChild(form1.TreeView1.Items.Item[n1],s1);
              subnode.ImageIndex:=1;
              subnode.SelectedIndex:=3
            end;
          end;
          m1:=0;
          form1.Table1.Next;
        end;
      end;
    end;
      

  4.   

    楼主,你写的代码所对应的表怎么建啊
    parentid    id        name
    0           1          a
    0           2          b
    1           3          c
    1           4          d
    2           5          e是这么建吗?但是显示在treeview上根节点是一个0,其他的节点都显示name怎么办啊