Crystal Reports Gruppenkopf Unterdrückungsformel nicht funktioniert
-
27-09-2019 - |
Frage
Ich habe einen Bericht, dass Gruppen von zwei Codes, wir werden sie Parent
und Child
nennen.
Am Anfang jeder Seite, im Seitenkopf, mag ich den Parent Namen gedruckt werden soll.
Es gibt eine Reihe von Spalten im Bericht, und wenn die Gruppe bricht, ich mag die neuen Kindernamen anzuzeigen, sowie die Spaltenüberschriften wieder. Der Bericht sollte etwa wie folgt aussehen:
Parent Name
Child Name
Col1 Col2 Col3 Col4 Col5 Col6
XXXX XXXX XXXX XXXX XXXX XXXX
XXXX XXXX XXXX XXXX XXXX XXXX
Child Total: XXXX
Child Name
Col1 Col2 Col3 Col4 Col5 Col6
XXXX XXXX XXXX XXXX XXXX XXXX
Wenn ein Kind Gruppe auf die neue Seite umschlingt, aber ich mag wieder zeigt die Kindernamen und Spaltenüberschriften, bevor die Daten wieder angezeigt wird.
Um dies zu erreichen, habe ich eine Kopfzeile erstellt, die folgende Objekte enthält:
Parent Name
Child Name
Col1 Col2 Col3 Col4 Col5 Col6
In der Kopfzeile ist eine Variable RowReset
, die die folgende Formel enthält:
WhilePrintingRecords;
Shared numberVar nRowCount := 0
Dann wird in jeder Detailzeile, sowie die Gruppe 1 und Gruppe Footer Footer 2 Abschnitte, Ich habe folgende RowIncrement
Formel:
WhilePrintingRecords;
Shared numberVar nRowCount := nRowCount + 1;
Schließlich wird in jedem Gruppenkopf 2 Abschnitt habe ich die folgende bedingte Unterdrückungsformel:
WhilePrintingRecords;
Shared numberVar nRowCount;
IF (PageNumber <> 1) AND (nRowCount = 0 OR nRowCount = 0.00) THEN
True
ELSE
False
Was diese Versuche zu tun ist, unterdrücken den Kindergruppenkopf, wenn wir auf eine völlig neue Seite sind, und keine Detaildatensätze gedruckt wurden noch folgende geschieht zu verhindern:
Parent Name ---+
Child Name +-- Page header
Col1 Col2 Col3 Col4 Col5 Col6 ---+
Child Name ---+-- Group header 2
Col1 Col2 Col3 Col4 Col5 Col6 ---+
Aus irgendeinem Grund kann ich nicht herausfinden, über 40 Seiten in dem Bericht, habe ich genau das, obwohl; a Page Kopfsatz, durch einen Kopf 2 Rekord-Gruppe gefolgt. Wenn ich eine Formel erstellen, die die bedingte Unterdrückungs-Formel enthält, zeigt es TRUE
, aber der Gruppenkopf immer noch nicht unterdrücken.
Wenn ich den Code brechen, so dass es nur eine der conditionals prüft (entweder PageNumber <> 1
oder nRowCount = 0
) dann richtig dem Gruppenkopf 2 unterdrückt.
Ich habe sogar versucht, diese Dinge zu brechen:
WhilePrintingRecords;
Shared numberVar nRowCount;
booleanVar bSuppress:= False;
IF PageNumber <> 1 THEN bSuppress:= True;
IF (bSuppress) THEN (IF nRowCount = 0 THEN True ELSE False);
Es zeigt auch True
, wenn auf dem Bildschirm angezeigt, aber nicht den Gruppenkopf zu unterdrücken.
Was auf der Erde mache ich falsch hier? Gibt es einen besseren Ansatz könnte ich nehmen?
Lösung
Ich schlage vor, setzen die ‚Mutter name‘ Feld im Gruppenkopf der eigenen Gruppe, anstatt im Seitenkopf. Dann wird in beiden Eltern- und Kind-Gruppen, wählen Sie den „Repeat Gruppenkopf auf jeder Seite‘ Kontrollkästchen im Dialogfeld Gruppenoptionen.