Einzelnen Beitrag anzeigen

Hausmarke

Registriert seit: 5. Apr 2013
Ort: Sachsen
47 Beiträge
 
Delphi 2007 Professional
 
#10

AW: LookUp feld zur laufzeit erstellen

  Alt 30. Mai 2013, 07:18
ich hab das fehlende Bindeglied gefunden

Man muss die Tabelle erst persistent machen, danach kann man sein LookUpfield auch zur Laufzeit erzeugen.

dies macht man für dieses Beispiel wie folgt:

Delphi-Quellcode:
  

procedure TFMain.CreatePersistentFields;
var i: Integer;
begin
  DSetDaten.FieldDefs.Update;
  DSetDaten.Close;
  for I := 0 to DSetDaten.FieldDefs.Count - 1 do
     if DSetDaten.FindField(DSetDaten.FieldDefs[i].Name) = Nil then
       DSetDaten.FieldDefs.Items[i].CreateField(DSetDaten);
end;

procedure TFMain.SetLookUp;
begin
CreatePersistentFields;
with TStringField.Create(DSetDaten) do
  begin
    Name := 'FieldNachschlagen';
    FieldName := 'FieldNachschlagen';
    DisplayLabel := 'Info';
    FieldKind := fkLookup;
    DataSet := DSetDaten;
    LookupDataSet := DSetInfos;
    KeyFields := 'INFOID';
    LookupKeyFields := 'ID';
    LookupResultField := 'Info';
  end;
  DSetDaten.Open;
end;
danke für eure Anregungen Lösungsansätze
  Mit Zitat antworten Zitat