![]() |
AW: FastReport5 - Zeile in frxDBDataset einfügen
Hi,
gefallen tut mir das schon, ich verstehe nur nicht, wie ich das umsetzen soll. Erst in ein UserDataset die Anzahl der zu überspringenden Daten einfügen und dann mit denen aus dem DBDataset auffüllen? Viele Grüße ... |
AW: FastReport5 - Zeile in frxDBDataset einfügen
nein du verwendest dann kein frxdataset.
Du verwendest das frxUserDataset, wie das angewendet wird steht in div. Posts hier. Du musst dort die notwendigen Felder anlegen und die Ereignisse implementieren. Im OnNewGetValue überspringst du so lange das Füllen der Daten, so lange dein Zähler der Etiketten die übersprungen werden müssen >1 ist. In OnNext und OnEof musst Du ebenfalls beide Zähler berücksichtigen, d.h. erst mit dem Überspringenzähler arbeiten, ist der auf 0 dann den normalen Zeilenzähler bzw. mit deinem DataSet.EOF . |
AW: FastReport5 - Zeile in frxDBDataset einfügen
Ah ok, danke. Das werde ich so mal probieren :thumb:
|
AW: FastReport5 - Zeile in frxDBDataset einfügen
Ja ich nochma :oops:
habe es jetzt so probiert, aber die Labels werden nicht übersprungen. Ich finde den Fehler nicht:
Delphi-Quellcode:
private
labeljump : integer; linecount : integer; .... procedure Treport.Button3Click(Sender: TObject); begin labeljump := 5; data.reportQuery.Open; datasetLabels.RangeEndCount := (data.reportQuery.RecordCount + labeljump); main.frxReport1.Clear; main.frxReport1.DataSet := datasetLabels; main.frxReport1.LoadFromFile(reportPath + 'test.fr3'); SetVariables(); main.frxReport1.ShowReport(true); end; procedure Treport.datasetLabelsCheckEOF(Sender: TObject; var Eof: Boolean); begin Eof := linecount >= (data.reportQuery.RecordCount + labeljump) end; procedure Treport.datasetLabelsFirst(Sender: TObject); begin linecount := 0; end; procedure Treport.datasetLabelsNext(Sender: TObject); begin inc(linecount); end; procedure Treport.datasetLabelsPrior(Sender: TObject); begin dec(linecount); end; procedure Treport.datasetLabelsGetValue(const VarName: string; var Value: Variant); begin if datasetLabels.RecNo > labeljump then begin if VarName = 'id' then Value := data.reportQuery.FieldByName('id').AsInteger; if VarName = 'lastname' then Value := data.reportQuery.FieldByName('lastname').AsString; ... end; end; |
AW: FastReport5 - Zeile in frxDBDataset einfügen
und wo ist der Rest (OnEOF, OnNext, OnPrior) des Userdataset?
|
AW: FastReport5 - Zeile in frxDBDataset einfügen
siehe oben ...
|
AW: FastReport5 - Zeile in frxDBDataset einfügen
schon mal debugged?
Du prüfts im GetValue auf if datasetLabels.RecNo > labeljump then änderst aber die RecNo weder im Next noch im Prior... Daher würde ich vermuten dass Du hier eheer if LineCount > labeljump then prüfen solltest damit was kommt.. Grüße |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:05 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