Ну, что всё разжёвывать ?
Код:
private
procedure AddChildrens(Node:TTreeNode; ChildrenNames:TStrings; ImageIndex:Integer);
Код:
procedure TForm1.dxBarButton1Click(Sender: TObject);
var DBNames : TStringList;
begin
DBNames := TStringList.Create;
MyConnection1.GetDatabaseNames(DBNames);
AddChildrens (nil,DBNames,0);
DBNames.Free;
end;
procedure TForm1.cxTreeView1Expanding(Sender: TObject; Node: TTreeNode; var AllowExpansion: Boolean);
var
Names : TStringList;
begin
Names := TStringList.Create;
try
if Node.Level = 1 then
begin
MyConnection1.Database := Node.Text;
MyConnection1.Connect;
MyConnection1.GetTableNames(TblNames);
end else
if Node.Level = 2 then
begin
// тут добавить код получения имён полей
// таблицы Node.Text в список Names
end
else Exit;
AddChildrens (Node,Names,Node.Level);
finally
Names.Free
end;
end;