先定义一个数据结构type
PMyData=^TMyData;
TMyData=Record
sFName:string;
nIndex:integer;
end;
数据库中
ID:INT;NAME CHAR(20}
在加载树的时候根据数据库中的ID加树,想把ID给每个结点赋值,记录下来你后要用到怎么做以后每点击一个结点都得到个唯一的值
既上面的ID,请各位指教!
var
p:pmydata;
begin
new(p);
p.sfname:=dataset.fieldbyname(id).asinteger;
p.nindex:=dataset.fieldbyname(name).asstring;
TreeView1.Items.AddObject(nil,p.sfname,p);
end;
procedure TForm1.TreeView1Deletion(Sender: TObject; Node: TTreeNode);
begin
dispos(p);
end;
设用QUERY:
var
..
TreeData:PMyData;
begin
StrSql := SELECT ID,NAME FROM 你的表;
aaQuery.close;
aaQuery.sql.Add(StrSql);
aaQuery.execSQL;
aaQuery.First;
while not aaQuery.Eof do
begin
//记录信息
new(TreeData);
TreeData^.DepaID := aaQuery.FieldByName(ID).AsString;
//记录名称
StrTmp := Depa_Query.FieldByName(NAME).AsString;
//向树图添加节点,名称是strtmp
TreeView.Items.AddChildObject(nil,StrTmp,TreeData);
AAQuery.Next;
end;
end;
在Label1 上显示ID:
procedure TForm1.TreeViewClick(Sender: TObject);
begin
Label1.Caption := PMyData(TreeView.Selected.Data)^.ID;
end;