Aktuelle Seite/Anzahl Seiten innerhalb manueller Seitenumbrüche

Fragen und Antworten rund um das Thema JavaScript im LiveCycleDesigner
Antworten
HerbTheDuke
Beiträge: 1
Registriert: 22.02.2013, 17:08

Aktuelle Seite/Anzahl Seiten innerhalb manueller Seitenumbrüche

Beitrag von HerbTheDuke » 26.02.2013, 10:19

Hallo,

ich habe folgendes Problem:

Ich gebe ein einem Formular eine vorsortierte und gruppierte Tabelle (mit beliebig vielen Einträgen) aus. Ändert sich das Gruppierkriterium, erfolgt ein manuelle Seitenwechsel. Nun soll nach jedem manuellen Seitenwechsel die aktuelle Seite wieder bei 1 anfangen und die Gesamtanzahl Seiten nur die innerhalb der Gruppe, also bis zum zur nächsten Änderung des Sortierkriteriums, sein.

Also: das komplette Formular hat 10 Seiten, Seiten 1, 2 und 3 sind in einer Gruppe, 3, 4, 5 und 6 in der nächsten, und der Rest in der letzten Gruppe. Dann soll auf den einzelnen  Seiten stehen:

tatsächliche Seite 1:       1 von 3
tatsächliche Seite 2:       2 von 3
tatsächliche Seite 3:       3 von 3
tatsächliche Seite 4:       1 von 4
tatsächliche Seite 5:       2 von 4 
 ....
tatsächliche Seite 8:       1 von 3  
....
tatsächliche Seite 10:      3 von 3

Wie bekomme ich das per Script hin?

Vielen Dank schon mal!!  

Benutzeravatar
nele_sonntag
Beiträge: 2742
Registriert: 04.05.2009, 15:12
Wohnort: Frankfurt
Kontaktdaten:

Aktuelle Seite/Anzahl Seiten innerhalb manueller Seitenumbrüche

Beitrag von nele_sonntag » 26.02.2013, 14:58

Ich denke, du solltest pro Gruppe eine neue Masterseite definieren und zuweisen und dort die Seitennummerierung unterbringen.

Schaue doch schon mal, ob sich damit dein Problem lösen lässt. Im Forum gab's dass auch schon mal.

Gehe später (derzeit keien Zeit) mal in mich..kannst ja schon mal ausprobieren und vielleicht in der Suchfunktion Seitenzahlen/Seitennummerierung eingeben.

LG Mandy

dreizeen
Beiträge: 2
Registriert: 02.12.2011, 09:42

Aktuelle Seite/Anzahl Seiten innerhalb manueller Seitenumbrüche

Beitrag von dreizeen » 18.04.2013, 16:54

[font=Arial][fontsize=2]Hallo,[/fontsize][/font]

[font=Arial][fontsize=2]ich hatte eine ähnliche Anforderung. Nach langem Suchen und Ausprobieren habe ich nun eine Lösung gefunden. Ist vielleicht nicht die eleganteste aber sie funktioniert. Vielleicht kann das ja jemand als Ansatz gebrauchen.[/fontsize][/font]

[fontsize=2][font=Arial] [/font][/fontsize]

[font=Arial][fontsize=2]Und zwar vergleiche ich immer den Wert des Gruppierungskriterium der aktuellen Seite mit dem Wert der vorangegangen Seite. Sind die Werte identisch, wird der Seitenzähler um 1 erhöht, andernfalls auf 1 zurückgesetzt.[/fontsize][/font]

[fontsize=2][font=Arial] [/font][/fontsize]

[font=Arial][fontsize=2]Auf jeder Seite habe ich die Textfelder „PersNr“ und „Seite“, anhand welcher ich die Prüfung vornehme. Das Coding hierzu (im Ereignis layout:ready).[/fontsize][/font]

[fontsize=3][font=Arial] [/font][/fontsize]

//Personalnummer und Seitenzahl der vorangegangenen Seite

var oPage = xfa.layout.page(this) - 2; //Wert ist 0-basiert

var oFields = xfa.layout.pageContent(oPage, "field");

var oPNR = 0;

var oSEITE = 0;

this.rawValue = 0;

 

for (var i=0; i <= oFields.length-1; i++) {

if (oFields.item(i).name == "PersNr") {

oPNR = oFields.item(i).rawValue; }

else if (oFields.item(i).name == "Seite") {

oSEITE = oFields.item(i).rawValue;}

}

 

// Vergleiche aktuelle PNR und vorangegangene PNR

if (oPNR == PersNr.rawValue) {

this.rawValue = 1 + Number(oSEITE); }

else {

this.rawValue = "1";

}

 

//Schreibe aktuelle Seitenzahl in Hilfsfeld

Seite.rawValue = this.rawValue;

 

//Ausgabe: Seite n/m

this.rawValue = String(this.rawValue) + "/" + String( xfa.layout.pageSpan(DIM_ASSIGNMENT_DATA));

Antworten