X
xiaoxiao8372
Unregistered / Unconfirmed
GUEST, unregistred user!
树中每个子结点都为姓名,单击任一子结点将相关的内容复制到相应地edit中,可是有重名,我的表里有编号(主键),现在就想单击一下找到姓名所对应地编号,我是这么写地! 以下是我的思路(还是别人教地啊)!
type 先定义记录指针
PMyRec = ^TMyRec;
TMyRec = record
id: string;
end;
在按钮中将表中的姓名插到对应结点中,并为
procedure TForm1.FlatSpeedButton1Click(Sender: TObject);
var id,name: string ;
var node,child : TTreenode ;
var
pMyRec;
TreeViewIndex,i: Integer;
begin
New(p);
i:=1;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from treetext ');
adoquery1.Active:=true;
child:=treeview1.Items.GetFirstNode;
while not adoquery1.Eof do
begin
p^.id:=adoquery1.FieldByName('id').AsString;
name:=adoquery1.FieldByName('name').AsString;
treeview1.Items.Addchild(child,name);
treeview1.Items.Data:=p;
i:=i+1;
adoquery1.Next;
end;
end;
/////////////////////////////////////
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
for i:=1 to 5 do
showmessage(PMyRec(treeview1.items.Data)^.id);
end; 这个是调用,想打出每一个结点对应地编号,可是打出来的都是最后一个结点所对应地编号,我是错在那里呢,请高手帮一下忙啊,我都整了好几天了!!
type 先定义记录指针
PMyRec = ^TMyRec;
TMyRec = record
id: string;
end;
在按钮中将表中的姓名插到对应结点中,并为
procedure TForm1.FlatSpeedButton1Click(Sender: TObject);
var id,name: string ;
var node,child : TTreenode ;
var
pMyRec;
TreeViewIndex,i: Integer;
begin
New(p);
i:=1;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from treetext ');
adoquery1.Active:=true;
child:=treeview1.Items.GetFirstNode;
while not adoquery1.Eof do
begin
p^.id:=adoquery1.FieldByName('id').AsString;
name:=adoquery1.FieldByName('name').AsString;
treeview1.Items.Addchild(child,name);
treeview1.Items.Data:=p;
i:=i+1;
adoquery1.Next;
end;
end;
/////////////////////////////////////
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
for i:=1 to 5 do
showmessage(PMyRec(treeview1.items.Data)^.id);
end; 这个是调用,想打出每一个结点对应地编号,可是打出来的都是最后一个结点所对应地编号,我是错在那里呢,请高手帮一下忙啊,我都整了好几天了!!