![]() |
Fastreport - code.....
Hallo zusammen
Ich benutze Fastreport und komme damit auch gut klar. Ich habe eine Datenbanktabelle an den Report gebunden und möchte bestimmte Werte individuell ausgeben. D.h. wenn z.B ein Boolean-Datenbankfeld true enthält möchte ich in einem Memo einen speziellen string z.B. "ok" ausgeben. Kann mir jemand sagen, wie ich innerhalb von Fastreport auf die Datenbankfelder zugreifen kann? Es scheint mir nicht genau so zu gehen wie mit den Datenbankkomponenten von Delphi. Jedenfalls bin ich noch zu keinem Ergebnis gekommen. Besten Dank für die Antworten im Voraus. Gruss Bruno |
AW: Fastreport - code.....
Ich habe hier zwar eine speziell angepasste Version von FastReport vor der Nase, aber das wird im Original vermutlich nicht anders sein: über "Ansicht- Symbolleisten - Datenbaum" kannst Du Dir die zur Verfügung stehenden Tabellen(felder) anzeigen lassen. Diese kannst Du dann einfach per Drag and Drop direkt in den Code ziehen.
|
AW: Fastreport - code.....
Am Einfachsten wird sein wenn du dem betreffenden Feld ein OnGetText-Handler zuordnest.
Dies funktioniert für alle Arten von Reportgeneratoren.
Delphi-Quellcode:
procedure TMain.OnGetTextBoolHandler(Sender: TField; var Text: string;
DisplayText: Boolean); begin if sender.AsBoolean then Text := 'ok' else Text := '---'; end; ... // und im AfterOpen - Event des Datasets wird der Eventhandler eingeklinkt begin Dataset.FieldByName('Bezahlt').OnGetText := OnGetTextBoolHandler; // man kann den gleichen Handler für mehrere Felder verwenden Dataset.FieldByName('Geliefert').OnGetText := OnGetTextBoolHandler; |
AW: Fastreport - code.....
Eine andere Möglichkeit wäre, das "OnBeforePrint"-Event vom MasterData zu nutzen.
Delphi-Quellcode:
In der Oberfläche des Reports muss man dann im MasterData noch ein Memo mit Inhalt "[Ausgabe]" hinzufügen.
var
Ausgabe : String; procedure MasterData1OnBeforePrint(Sender: TfrxComponent); begin Ausgabe := ''; if <Tabelle."Boolean_Feld"> then Ausgabe := 'ok'; end; begin end. |
AW: Fastreport - code.....
Sofern ich die Frage richtig verstanden habe geht es ja genau darum, wie man auf <Tabelle."Boolean_Feld"> zugreift.
|
AW: Fastreport - code.....
Hallo zusammen
Erst mal herzlichen Dank für eure schnellen Antworten. Ja es ist so - ich möchte wissen wie man auf das entsprechende Datenfeld zugreift. |
AW: Fastreport - code.....
Zitat:
|
AW: Fastreport - code.....
Und woher weiß man nun auf Anhieb die Syntax? Ich habe in meinem aktuell zu bearbeitenden Report so lustige Dinge drin wie
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz