Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#5

AW: Quickreport: Boolean mit Ja/Nein statt Wahr/Falsch anzeigen

  Alt 19. Sep 2010, 20:49
Die einfachste Möglichkeit läuft über das OnGetText-Event.
Wenn man es richtig macht, kann man ALLE Boolean-Felder so umstellen.
(einmal programmieren, so oft wie gebraucht verwenden)
Jedes Feld hat ein OnGetText-Event über das man den Text, den ein Feld liefert
beliebig verändern kann:
Delphi-Quellcode:
procedure TForm1.BooleanJaNeinGetText(Sender: TField; var Text: string; DisplayText: Boolean);
const JaNein : array[Boolean] of string = ('Nein', 'Ja');
begin
  Text := JaNein[Sender.AsBoolean];
end;
Jetzt muss man noch dafür sorgen, dass dieser Eventhandler von den Felder auch benützt wird:
Delphi-Quellcode:
procedure TForm1.SetupJaNeinEventHandler(fields:TFields);
ver
  i : Integer;
  f : TField;
begin
  for i:= 0 to fields.Count-1 do
  begin
    f := fields[i];
    if f.FieldType=ftBoolean then
      f.OnGetEvent := self.BooleanJaNeinGetText;
  end;
end;
Wenn man diese Mehode im Event AfterOpen aufruft
Delphi-Quellcode:
procedure TForm1.Query1AfterOpen(dataset.TDataset);
begin
  SetupJaNeinEventHandler(dataset.Fields);
end;
dann ist man fertig.
(Code ohne Hilfe einer Delphi IDE erstellt; kleine Syntaxfehler sind moglich)
  Mit Zitat antworten Zitat