急救, 哪位人兄知道用Treeview控件动态显示树的列表!!!!!!!!!!!
小生急需!!!!!!!!!!!

解决方案 »

  1.   

    给你个小例子,自己理解吧!
    没什么用主要是提高速度Procedure TForm1.Button1Click(Sender: TObject);
    Var               ST:TMemoryStream;
             LA,LB,LC,LD:Integer;
             SA,SB,SC,SD:String;
             CA,CB,CC,CD:String;
                     Max:Integer;
    begin
         Max:=7;    //将生成 7x7x7x7 的树.
         ST:=TmemoryStream.Create;  //建立内存流
         SA:=Chr($0D)+Chr($0A);     //各级节点标志
         SB:=SA+Chr($09);
         SC:=SB+Chr($09);
         SD:=SC+Chr($09);
         For LA:=1 to Max DO
           Begin
            CA:='Root '+Inttostr(LA);           //根节点内容
            ST.Write(PChar(CA)^, Length(CA));   //写入根节点
            For LB:=1 to Max DO
             Begin
               CB:='LevelII '+Inttostr(LB);       //次级节点内容
               ST.Write(PChar(SB)^, Length(SB));  //写入次级标志
               ST.Write(PChar(CB)^, Length(CB));  //写入次级内容  下同,略
               For LC:=1 to Max Do
                   Begin
                   CC:='LevelIII '+Inttostr(LC);
                   ST.Write(PChar(SC)^, Length(SC));
                   ST.Write(PChar(CC)^, Length(CC));
                   For LD:=1 to Max do
                      Begin
                      CD:='Node '+Inttostr(LD);
                      ST.Write(PChar(SD)^, Length(SD));
                      ST.Write(PChar(CD)^, Length(CD));
                      End;
                   End;
                End;
              ST.Write(PChar(SA)^, Length(SA));    //写入根节点标志
             End;
         ST.Position:=0;
         TreeView1.LoadFromStream(ST);  //从流中载入
         TreeView1.Items.BeginUpdate;
         TreeView1.FullExpand;
         TreeView1.Items.EndUpdate;
         ST.Free;
    End;
      

  2.   

    var
    a,a1,a2:ttreenode;
    begin
     a:=ctv1.Items.Add(nil,ADOTable1.FieldValues['c_name']);
            a1:=ctv1.Items.Add(a,IntToStr(ADOTable1.FieldValues['i_int']));
            a2:=ctv1.Items.Add(a1,ADOTable1.FieldValues['c_zt']);
    end;