+1 800 256 3608 (toll-free in North America) or +49 7531 90 60 10| service@combit.com

LlPrintResetProjectState() und ILLDataProvider (C++)

Wenn man das DataProvider-Interface anstelle der üblichen Druckschleife benutzt, kann man dann immer noch LlPrintResetProjectState() einsetzen?

Mit dem C+±Datenprovider habe ich mich noch nie beschäftigt. Unter .NET gibt es die Eigenschaft AutoMasterMode über die man das steuern kann, dann wird intern LlPrintResetProjectState automatisch aufgerufen, wenn man zum nächsten Master-Datensatz wechselt. Wenn ich mir den Code des C+±Beispiels so anschaue scheint es da auch sowas zu geben (such mal nach LlDbSetMasterTable im Code). Sonst müsstest Du vermutlich mal genauer beschreiben, was Du vorhast.

Ich möchte innerhalb des Reports mehrere Berichtscontainer einsetzen (die wiederum mehrere Tabellen beinhalten).
Allerdings mit folgendem Aufbau:
Zuerst gibt es eine zusammenfassende Übersicht, diese enthält einen Berichtscontainer.
Dann wird für eine Reihe von Objekten jeweils ein “Teilbericht” erzeugt, der jeweils wiederum einen Berichtscontainer enthält. Entscheidend hierbei ist, dass ich für jedes Objekt die Variablen und Felder immer wieder neu definieren möchte, daher möchte ich hier LlPrintResetProjectState() einsetzen.
Ungefähr so:
Projekt enthält einen Container mit Elementen von ObjektA.
ObjektA enthält einen Container mit Elementen von ObjektB.
ObjektB enthält einen Container mit Elementen von ObjectC.
Die Zusammenfassung soll alle ObjektA im Detail auflisten, sowie alle ObjektC.
Dann wird jeweils für alle ObjektB ein Teilbericht erzeugt, in dem jeweils nur die ObjektC aufgelistet werden, die zu dem jeweiligen ObjektB gehören.

Bisher verwende ich einfach nur mehrere Tabellen und befülle diese unterschiedlich in dem ich zwischendurch LlPrintResetProjectState() aufrufe. Damit kann ich jedoch innerhalb der Zusammenfassung entweder nur alle ObjektA oder alle ObjektC auflisten, oder ich muss es auftrennen (was aber nicht so schön ist).

Evtl. lässt sich das tatsächlich über LlDbSetMasterTable() umsetzen, aber kann ich damit auch die relativ separat betrachtete Zusammenfassung realisieren?

Also LlPrintResetProjectState() lässt sich scheinbar einsetzen, auch wenn man das DataProvider-Interface benutzt. Jetzt muss ich mal schauen, ob ich dann das umsetzen kann, was ich mir vorgenommen habe.

© combit GmbH