So ordnen Sie dem dataset dynamisch in FastReport?
Ich habe einen Bericht erstellt mit FastReport Designer und den Aufruf mit Delphi 6. Aber DataSet
für die MasterData
und die Felder nicht assinged zur design-Zeit. Ich möchte diese Eigenschaften zur Laufzeit, basierend auf der ausgewählten DataSet
. Wie kann ich das tun? Wie kann ich auf die DataSet
des MasterData
in Delphi vor dem Aufruf der Vorschau/Druck/design? Hinzugefügt folgenden code in frxReport1BeforePrint
.
t := frxReport1.FindObject('MasterData1') as TfrxMasterData;
//if Assigned(t) then
//t.DataSet := frxIBODataset1;
m := frxReport1.FindObject('mTenderType') as TfrxMemoView;
if Assigned(m) then
begin
m.DataSet := frxIBODataset1;
m.DataField := 'ACCOUNTNAME';
m.Text := '[frxIBODataset1."ACCOUNTNAME"]';
end;
Aber ich brauche, um diese Eigenschaften vor dem Aufruf der print/design/preview. Jede Hilfe ist willkommen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie zunächst angeben, ob Sie versuchen, verwenden Sie ein dataset definiert, die in Ihrer Anwendung, oder ein dataset definiert, die direkt im Bericht (Registerkarte "Daten" im FastReport-designer)?
Wenn Sie versuchen, verwenden Sie ein dataset definiert ist, in Ihrer Anwendung (z.B. ein AdoDataset-Instanz definiert in einem Ihrer Daten-Module), die für einen solchen Zweck, Sie nicht zu binden, das MasterBand an das dataset. dynamisch. Innerhalb des Berichts, Ihre MasterBand ist gebunden an eine TfrxDbDataset Beispiel in design-Zeit. Zur Laufzeit, Ihre frxDbDataset Instanz verbunden werden können, um jeden Datensatz in Ihrem Projekt.
Hier ist, wie es wäre:
1 - Sie fallen ein frxReport-Komponente und eine frxDbDataset-Komponente auf Ihrem Formular oder Daten-Modul.
2 - In den Berichts-designer, Sie gehen, um Datasets Abschnitt, und fügen Sie die zur Verfügung frxDbDataset zu dem Bericht, die Datensatz-Liste.
3 - fügen Sie ein master-Daten-band, und weisen Sie die frxDbDataset zu deren Dataset-Eigenschaft.
4 - Jetzt in deinem code, vor dem anzeigen oder der Erstellung des Berichts, schreiben Sie etwas wie dieses:
Was auch immer Sie ordnen frxDbDataset gedruckt werden, die vom master-band in Ihrem Bericht.
Wenn Sie bei der Definition der Datensatz direkt in den Bericht mit FastReport-designer; dann ist alles in Ihrem Bericht. Öffnen Sie einfach fastreport designer und tun Sie dies:
1 - Gehen Sie zu der Registerkarte "Daten" und definieren Sie Ihre Datensätze (z.B. AdoQuery1).
2 - Wählen Sie den Bericht vom Berichts-strukturbereich.
3 - In den Objektinspektor wechseln Sie zur Registerkarte Ereignisse.
4 - Wählen Sie eine geeignete Veranstaltung; OnStartReport ist eine gute Veranstaltung für Ihren job. Doppel-Klick öffnen Sie den code-editor.
5 - Jetzt können Sie ordnen Sie die dataset definiert im data-tab, um die master-Daten-band mit PascalScript-code. So etwas wie dieses:
Wenn Sie mit FastReport 3+ dann kann man Datenbank-Komponenten im inneren Bericht. Nur, dass Sie brauchen, ist die Datenbank-Verbindung und führen designer aus Ihrer Anwendung.
Können Sie Variablen definieren, geben Sie aus der Anwendung, und führen Sie Ihre .fr3 report-Datei.