有数据库:
表part (part_id,part_name)
表teacher(part_id,teacher_name,teacher_id)
想生成这样的结果:
----数学
      ^------黄AA
      ^------赵BB
----英语
      ^------李CC
      ^------王DD

解决方案 »

  1.   


    procedure Test;
    var
      vNode : TTreeNode;
      str : String;
    begin
      ............................
      qrypart.sql.text := 'select * from part ';
      qrypart.open;  
      with qrypart do while not eof do 
      begin
        .............
        vNode := TreeView1.Items.AddChild(nil,fieldbyname('part_name').asString);
        qryTeach.sql.text := 'select * from teacher where part_id = '+fieldbyname('part_id').asstring;
        qryteach.open;
        while not qryteach.eof do begin
          TreeView1.Items.Addchild(vNode,qryTeach.fieldbyname('teacher_name').asstring);          qryteach.next;
        end;
        next;
      end;
    end;随手写的。自己要改进。呵呵
      

  2.   

    很简单,先读取科目,生成顶级item,在根据该科目查找教师记录,然后添加为下级item,思路就是这样