先定义一个数据结构type
PMyData=^TMyData;
TMyData=Record
sFName:string;
nIndex:integer;
end;
数据库中
ID:INT;NAME CHAR(20}
在加载树的时候根据数据库中的ID加树,想把ID给每个结点赋值,记录下来你后要用到怎么做(树中的结点个数不知道用数组不能确定,)以后每点击一个结点都得到个唯一的值
既上面的ID,请各位指教!
PMyData=^TMyData;
TMyData=Record
sFName:string;
nIndex:integer;
end;
数据库中
ID:INT;NAME CHAR(20}
在加载树的时候根据数据库中的ID加树,想把ID给每个结点赋值,记录下来你后要用到怎么做(树中的结点个数不知道用数组不能确定,)以后每点击一个结点都得到个唯一的值
既上面的ID,请各位指教!
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;
..
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;