建立父子关系然后用递归法addchild()

解决方案 »

  1.   

    下面是我曾经用过的一个目录树,简单了一些,不过原理就是这样。你可以通过看 “AddChild”事件的 HELP 再引申一下:
    procedure TfrmMain.FormCreate(Sender: TObject);
    var TreeNode:TTreeNode;
        i:Integer;
    begin
      i:=1;
      with TreeView1.Items do
      begin
        Clear;
        TreeNode := Add(nil, '文档');
        with ibdsDoc do
        begin
          First;
          while not eof do
          begin
            TreeView1.Items.AddChild(TreeNode,FieldByName('DCODE').AsString );
            TreeView1.Items.Item[i].ImageIndex :=1;
            Inc(i);
            Next;
          end;
        end;
      TreeView1.FullExpand ;
      end;
    end;
      

  2.   

    若用的是SQL Server 在表中加入一个IMAGE类型的字段,(若用的是ORACLE则用BLOB)
    ,然后用ms:TMemorystream 将TTreeView里的内容 savetostream(ms)
    读出是:TBlobField(Query1.fieldbyname('该字段名')).savetostream.
     然后:ms.position:=0;
      TreeView1.loadfromstream(ms);
      ms.free;