如何给子结点添加它的子结点?
实现
---公司
   |
   |--子公司一
      |
      |---销售部
      |---技术部
      |---生产部
   |--子公司二
      |
      |---销售部
      |---技术部
      |---生产部

解决方案 »

  1.   

    treeView控件AddChild函数,第一个参数是要添加的子节点的父节点,第二个参数是添加的文本
      

  2.   

    thank,和数据库结合起来,如何做?
      

  3.   

    两种方法,第一种是最省事的,现在有很多控件都由这个功能,如firstclass,coolcontrol,这些数据感知树,很多很多
    第二种,自己写SQl,把数据得到后,加入树中,给点分阿,怎么一分都没有
      

  4.   

    我写来玩的一段代码var
      node1,node2,node3,node4:TTreenode;
      i,ii,iii:integer;
      glass1,class1 :string;
    begin
        treeview1.Items.Clear;
        node1:=treeview1.Items.Add(nil,'学校');
        node1.ImageIndex:=0;
        query1.Open;
        for i:=1 to query1.RecordCount do
        begin
         node2:=treeview1.Items.AddChild(node1,query1.FieldByName('glass').Value);
         node2.ImageIndex:=1;
         query2.Close;
         query2.SQL.Clear;
         query2.SQL.Add('select * from class where glass='+#39+query1.FieldByName('glass').Value+#39);
         query2.Open;
         for ii:=1 to query2.RecordCount do
          begin
           node3:=treeview1.Items.AddChild(node2,query2.FieldByName('class').Value);
           node3.ImageIndex:=2;
           query3.Close;
           query3.SQL.Clear;
           query3.SQL.Add('select * from student where glass='+#39+query1.FieldByName('glass').Value+#39+'and class='+#39+query2.FieldByName('class').Value+#39);
           query3.Open;
           for iii:=1 to query3.RecordCount do
           begin
           node4:=treeview1.Items.AddChild(node3,query3.FieldByName('name_student').Value);
           node4.ImageIndex:=3;
           query3.Next;
           end;       query2.Next;
           end;
           query1.Next;
         end;