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;
定义个变量, 循环加1 var id: integer; begin id := 0; Inc(id); Caption := FormatFloat('000', id);
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;
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)点击加入子节点。
for i := 1 to 10 do 这个是循环增加10条吧;如何判断数据中有几个子节点了;比如有两个子节点了;100101001;100101002 再加一个就变成100101003
可以通过搜索TreeView1.Items ,获取有多少个子节点。
具体是怎么做的啊? with TreeView1.Items do for i := 1 to Nownode.count do begin S2 :=S1+ FormatFloat('000', i); NewNode := AddChild(NowNode, S2); end 我这样写还是不行;每次都要从1进行循环;
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;
var
id: integer;
begin
id := 0;
Inc(id);
Caption := FormatFloat('000', id);
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;
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)点击加入子节点。
with TreeView1.Items do
for i := 1 to Nownode.count do
begin
S2 :=S1+ FormatFloat('000', i);
NewNode := AddChild(NowNode, S2);
end
我这样写还是不行;每次都要从1进行循环;