Zitat von
Smodibo:
Ich benutze eine TQuery-Komponente. Zur Entwurfszeit kann über Doppelklick der Feldeditor dieser
Query geöffnet werden und die Felder der angegeben Tabelle eingefügt werden.
Ich möchte aber diesen Feld-Editor zur Laufzeit füllen, doch ich weis nicht, wie ich das machen soll.
Die Felder eines TDataset (TQuery, TTable,...) sind entweder persistent (zur Entwurfszeit erzeugt) oder nicht (sie werden beim Öffen aus den Felder der unterliegenden Datenmenge generiert).
Wenn du keine persistenten Felder hast, kannst du direkt nach dem Öffnen Einfluss auf die Felder nehmen:
Delphi-Quellcode:
procedure TForm1.Query1AfterOpen(DataSet:TDataset);
begin
Dataset.FieldByName('Password').Visible := False; // nie anzeigen
Dataset.FieldByName('MasterKey').ReadOnly := True; // darf nie geändert werden
TDateTimeField(Dataset.FieldByName('LastSaved')).DisplayFormat := 'YYYY.MM';
end;
So kannst du jede Eigenschaft oder Event zur Laufzeit ändern; nur eben nicht so bequem wie mit
dem Feldeditor + Objektinspektor.