Привожу полный код процедуры:
Код:
procedure TForm1.LoadTreeview1;
var
i,i1,k,k1 : integer;
begin
flag:=false;
i:=0;
k1:=0;
TreeView1.Items.Clear;
with dm1.q do
begin
Active:=false;
SQL.Clear;
SQL.Add('SELECT * FROM FACULTET ORDER BY COD_FACULTETA');
Active:=true;
First;
while not Eof do
begin
TreeView1.Items.Add(nil, FieldByName('NAME_FACULTETA').AsString);
with dm1 do
begin
q2.Active:=false;
q2.SQl.Clear;
q2.SQL.Add('SELECT * FROM FACULTET ORDER BY COD_FACULTETA');
//q2.SQL.Add('SELECT * FROM FACULTET WHERE NAME_FACULTETA=:Facultet');
//q2.SQL.Add('ORDER BY COD_FACULTETA');
//q2.Params.ParamByName('Facultet').asString := FieldByName('NAME_FACULTETA').AsString;
q2.Active:=true;
q2.First;
k:=0;
while dm1.q2.RecordCount<>k do
begin
TreeView1.Items.AddChildObject(TreeView1.Items.Item[i],
dm1.q2.FieldByName('NAME_FACULTETA').AsString, Pointer(
dm1.q2.FieldByName('COD_FACULTETA').AsInteger));
inc(k);
dm1.q2.Next;
end;
i:=i+k+1;
q.Next;
end;
end;
end;
flag:=true;
end;
Нужно сделать еще для каждой дочерней записи свои дочерние записи