默认父节点为1001
子节点则动态创建为1001001,1001002 等依次增加.....
大侠 怎么做;谢谢

解决方案 »

  1.   

    http://docwiki.embarcadero.com/CodeExamples/XE8/en/TreeViewAddChild_%28Delphi%29
    procedure TForm1.Button1Click(Sender: TObject);
    var
      MyTreeNode1, MyTreeNode2: TTreeNode;
    begin
      with TreeView1.Items do
      begin
        Clear; { Remove any existing nodes. }
        MyTreeNode1 := Add(nil, 'RootTreeNode1'); { Add a root node. }
        { Add a child node to the node just added. }
        AddChild(MyTreeNode1,'ChildNode1');
     
        {Add another root node}
        MyTreeNode2 := Add(MyTreeNode1, 'RootTreeNode2');
        {Give MyTreeNode2 to a child. }
        AddChild(MyTreeNode2,'ChildNode2');
     
        {Change MyTreeNode2 to ChildNode2 }
        { Add a child node to it. }
        MyTreeNode2 := TreeView1.Items[3];
        AddChild(MyTreeNode2,'ChildNode2a');
     
        { Add another child to ChildNode2, after ChildNode2a. }
        AddChild(MyTreeNode2,'ChildNode2b');
     
        { Add another root node. }
        Add(MyTreeNode1, 'RootTreeNode3');
      end;
    end;
      

  2.   

    定义个变量, 循环加1
    var
      id: integer;
    begin
      id := 0;
      Inc(id);
      Caption := FormatFloat('000', id);
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      MyTreeNode1: TTreeNode;
      i, j: integer;
      Si, sj: string;begin
      with TreeView1.Items do
      begin
        Clear; { Remove any existing nodes. }    { Add a child node to the node just added. }
        for i := 1 to 10 do
        begin
          Si := FormatFloat('1000', i);
          MyTreeNode1 := Add(nil, Si); { Add a root node. }
          for j := 1 to 10 do
          begin
            sj := Si + FormatFloat('000', j);
            AddChild(MyTreeNode1, sj);
          end;
        end;  end;end;
      

  4.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ComCtrls;type
      TForm1 = class(TForm)
        TreeView1: TTreeView;
        Button1: TButton;
        Button2: TButton;
        Button3: TButton;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
        procedure Button3Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);   // 加入根节点
    var
      NowNode: TTreeNode;
      i, j: integer;
      Si, sj: string;
    begin
      with TreeView1.Items do
      begin
        for i := 1 to 10 do
        begin
          Si := FormatFloat('1000', i);
          NowNode := Add(nil, Si);
        end;
      end;
    end;procedure TForm1.Button2Click(Sender: TObject);   // 加入子节点
    var
      NowNode,NewNode: TTreeNode;
      i, j: integer;
      S1,S2: string;
    begin
      NowNode:=TreeView1.Selected;
      S1:=NowNode.Text;
      with TreeView1.Items do
      for i := 1 to 10 do
      begin
        S2 :=S1+ FormatFloat('000', i);
        NewNode := AddChild(NowNode, S2);
      end;
    end;procedure TForm1.Button3Click(Sender: TObject);
    begin
      close;
    end;end.
    Button1加入根节点;
    Button2(1)鼠标选择1根节点(2)点击加入子节点。
      

  5.   

    for i := 1 to 10 do 这个是循环增加10条吧;如何判断数据中有几个子节点了;比如有两个子节点了;100101001;100101002 再加一个就变成100101003
      

  6.   

    可以通过搜索TreeView1.Items ,获取有多少个子节点。
      

  7.   

    具体是怎么做的啊?
    with TreeView1.Items do
      for i := 1 to Nownode.count do
      begin
        S2 :=S1+ FormatFloat('000', i);
        NewNode := AddChild(NowNode, S2);
      end
    我这样写还是不行;每次都要从1进行循环;