Scripting Seitenangaben
Siehe JavaScript und FormCalc Scripting im LiveCycle Designer.
Es gibt im Scripting 2 einfache Befehle, die die aktuelle Seite ausgeben und die Gesamtzahl der Seiten.
Wichtig ist hier nicht das Ereignis "Initialize" zu nehmen, sondern "Layout:Ready*" (Auswahlbox), bzw. "Ready:Layout" (Coding), weil erst hier die Seiten generiert sind und daher erst hier die Seitengaben gefüllt sind.
Paginierung Seiten einbeziehen/ausschließen
Aktuelle Seite
JavaScript
xfa.layout.page(this);
FormCalc
xfa.layout.page($)
Gesamtzahl Seiten
JavaScript
xfa.layout.pageCount();
FormCalc
xfa.layout.pageCount()
Unterdrücken Ausgabe auf letzter Seite (JavaScript)
Manchmal möchte man einen Text auf allen Seiten ausgeben, aber nicht auf der letzten Seite, z. B. wenn ein berechnetes Feld mit der Zwischensumme einer Tabelle am Ende jeder Seite. Aber auf der letzten Seite gibt es ein anderes Feld Gesamtsumme und da macht die Zwischensumme keinen Sinn mehr.
Das Ereignis ist hier "layout:ready*" (Auswahlbox), bzw. "layout:ready" (Coding).
data.BODY.Item_Fuss::ready:layout - (JavaScript, both) if (xfa.layout.page(this) == xfa.layout.pageCount()) { this.presence = "hidden"; }
Ausgabe Seitenangaben nur auf erster Seite (JavaScript)
data.#pageSet[0].Page1.IfSeiteXVonGesamt::ready:layout - (JavaScript, client) //Wenn es die erste Seite ist, dann soll ausgeben werden: AktuelleSeite/GesamtzahlSeiten if (xfa.layout.page(this) == 1) { this.rawValue = xfa.layout.page(this) + "/" + xfa.layout.pageCount(); }
Web-Seiten
- forums.adobe.com: how to use xfa.layout.pageCount (EN)
- archive.sap.com: Print field only at last page
Literatur
- Adobe LiveCycle® Designer ES2 und SAP Interactive Forms: Scripting für Nicht-Programmierer, von Ulrich Bähr, S. 61 ff.
- Adobe LiveCycle® Designer ES2 und SAP Interactive Forms: Scripting für Nicht-Programmierer, von Ulrich Bähr, Zwischensumme am Ende der Seite berechnen, S. 129 f.