Mit WPSuperMerge eine baumartige Struktur erzeugen

  • Hallo Zusammen,
    ich möchte aus einer Objektliste die eine Baumstruktur abbildet mit WPSuperMerge die ersten beiden Ebenen drucken.

    Ich habe zu diesem Zweck zwei Bänder (Groups) Master-Detail in einander geschachtelt. Da beide aber die gleichen Informationsobjekte anzeigen kann ich nicht erkennen, um welche Ebene es sich handelt.

    Gibt es eine Möglichkeit herauszufinden, ob ein Band ein übergeordnetes Band hat? Bzw. in welcher Ebene (Level) ich mich befinde.

    Grundsätzlich, kann der Anwender über einen reportdesigner entscheiden wieviele Ebenen des Baumes er drucken möchte. Er würde zu diesem Zweck beliebig viele Groups des gleichen Typs in einander schachteln.

    Gruss
    Frank Link

    • Offizieller Beitrag

    Am besten während der Report erzeugung dem var parameter 'CustomData' des OnBeforeProcessGroup ein Objekt mitgeben welches entsprechend der aktuellen schachtelungstiefe initialisiert wird. (Diese Object wird von der Engine freigegeben!)
    Damit kann man gut dynamische daten mitführen.

    Die Tiefe zu kann man auch abfragen anhand des 'Stacks' des processes. Auf diesen kann mittels SuperMerge.Stack zugegriffen werden. Die klasse TWPTextCombineStack liefert verschiedene properties, so wie die aktuelle Gruppe, absatz ziel text etc. Die Tiefe kann man über die referenz property 'Prev' ermitteln, also die parameter der übergeordneten gruppe abfragen. In Stack.DataObject liegt übrigens das object aus OnBeforeProcessGroup.