Hi Sourcemember !
folgendes: wenn MoreData auf True steht und das DetailBand geschrieben wurde, dann wird der Counter incrementiert. Und: Es wird der nächste Datensatz aus NeedData ermittelt. (Der aktuelle Datensatz besteht im Wert von Counter - wird in BeforePrint mit Ausgabe(Counter) gemacht - das ist auch der Grund, warum Counter nicht wieder auf 0 gesetzt wird).
Ich habe aber bereits eine Möglichkeit gefunden, das ganze zu lösen. Die Lösung empfinde ich jedoch als ziemlich unschön. Der ganze Lösungsweg ist nicht toll. Aber mir fällt keine andere Möglichkeit ein die einzelnen Datensätze zu ermitteln und nicht gültige auszuschließen. Prinzipiell möchte ich also einfach jedes gültige objekt der liste in mein detailband schreiben. Falls jemandem noch eine intelligentere Lösung einfällt wäre ich sehr dankbar, wenn er sie hier posten würde.
Meine Lösung:
Delphi-Quellcode:
if (Counter < ObjektListe.Count) then
begin
While JumpNextDataSet do
begin
if (ObjektListe[Counter].gueltig) then
begin
JumpNextDataSet := FALSE;
MoreData := True;
end else begin
if (Counter = ObjektListe.Count-1) then
begin
JumpNextDataSet := FALSE;
MoreData := False;
Last := FALSE
end else begin
Counter := Counter + 1;
JumpNextDataSet := TRUE;
end;
end
end;
Danke für Deine Hilfe Sourcemember!