Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#10

Re: Klasse für data aware components (Data Controls)

  Alt 11. Okt 2007, 17:44
Man kann auch ausgehend von der DataSource rückschliesen auf alle verbundenen DB aware Controls.
Diese Controls könnten ja auch auf einem anderen Formular oder Frame liegen.
Für jedes Control gibt es einen internen TDataLink.
Und das geht so:
Delphi-Quellcode:
type
   TDataSourceCracker=class(TDataSource);

procedure TForm1.Button1Click(Sender: TObject);
var
   dlist : TList;
   i : Integer;
   dlink : TDataLink;
   control : TComponent;
begin
   dlist := TDataSourceCracker(DataSource1).DataLinks;
   for i := 0 to dlist.Count-1 do
   begin
      dlink := TDataLink(dlist[i]);

      if dlink is TFieldDataLink then
      begin
         control := TFieldDataLink(dlink).Control;
         memo1.lines.add('Control: ' +control.GetNamePath+ ' Fieldname:'+TFieldDataLink(dlink).FieldName);
      end;
   end;
end;
Andreas
  Mit Zitat antworten Zitat