bedingte Umbrüche in dynamischer Tabelle

Fragen und Antworten rund um das Thema JavaScript im LiveCycleDesigner
Antworten
Dilaver
Beiträge: 25
Registriert: 27.08.2008, 22:15

bedingte Umbrüche in dynamischer Tabelle

Beitrag von Dilaver » 04.03.2010, 17:14

Hallo liebe Forengemeinde,

ich habe da ein Problem mit bedingten Umbrüchen in einer dynamischen Tabelle.

Meine Tabelle ist per +/- erweiterbar.
Kopfzeilen werden in nächste Zeile übernommen.

nun möchte ich aber, dass nach z.B 5 hinzugefügten Zeilen die Tabelle manuell umbricht.
In der ersten Spalte habe ich eine fortlaufende Nummer ( = Dezimalfeld)

mit der Javascript-Hilfszeile ( im Bearbeitungsfenster für bedingte Umbrüche) erreiche ich:

Code: Alles auswählen

if (this.resolveNode("Zeile1[-1].Dezimalfeld1") != null) { this.resolveNode("Zeile1[-1].Dezimalfeld1").rawValue != Zeile1.Dezimalfeld1.rawValue }
Für Hilfe wäre ich sehr dankbar...

Gruß
Dilaver

Dilaver
Beiträge: 25
Registriert: 27.08.2008, 22:15

bedingte Umbrüche in dynamischer Tabelle

Beitrag von Dilaver » 07.03.2010, 12:51

Für diejenigen die sich nicht mit javascript auskennen, hier meine Lösung:

Code: Alles auswählen

if (this.resolveNode("Z4[-1].feld4") != null) { this.resolveNode("Z4[-1].feld4").rawValue == "10" }
damit wird die Tabelle umgebrochen, wenn die laufende nummer (= also die anzahl der Zeilen, inkl. der hinzugefügten) 10 erreicht wird.

"feld4" in Zeile Z4 ist dabei der zu vergleichende Wert ( = Zeilennr) ...


Nun weiterführende Frage:
mit obiger Lösung kann ich den gewünschten Umruch nur genau einmal erzwingen.
Wie müsste die Syntax denn lauten um vielfaches von genau 10 Zeilen anzugeben ?

Mit anderen Worten: der Umbruch ist  ALLE 10 Zeilen erwünscht...

Besten Dank im voraus...

P.S.:natürlich könnte ich eine 2te und 3te Bedingung einbauen ( muster: umbruch bei 20, 30, 40 etc); dies wäre aber nicht so elegant.  ausserdem weiss ich ja nicht wieviele neue Zeile der Benutzer eingibt...

folgende Ansätze funktionieren leider nicht:

weder

Code: Alles auswählen

var basis = 10;
for (var i = 0; i < 1000; i++)
{var viel = basis * i;
{if (this.resolveNode("Z4[-1].feld4") != null) 
{this.resolveNode("Z4[-1].feld4").rawValue == "viel" }}}
noch

Code: Alles auswählen

for (var i = 10; i < 1000; i=i+10)
{if (this.resolveNode("Z4[-1].feld4") != null)
{ this.resolveNode("Z4[-1].feld4").rawValue == "i" }}

Benutzeravatar
FileAffairs
Beiträge: 372
Registriert: 15.09.2008, 20:14

bedingte Umbrüche in dynamischer Tabelle

Beitrag von FileAffairs » 08.03.2010, 06:58

Hallo Dilaver,

da kannst Du mit dem Modulo Operator arbeiten also

Code: Alles auswählen

(this.resolveNode("Z4[-1].feld4").rawValue % 10) == 0
Gruß
FileAffairs

Dilaver
Beiträge: 25
Registriert: 27.08.2008, 22:15

bedingte Umbrüche in dynamischer Tabelle

Beitrag von Dilaver » 09.03.2010, 11:00

Vielen dank FileAffairs..

Leider hat sich einiges in dem Dokument geändert ( Zellen müssen sich dem eingebenen Text anpassen ).

Habe auch schon das Dokument  - in neuem Layout -  fast fertig, aber EIN Fehler besteht noch:

wenn die tabelle umbricht, wird zwar die kopfzeile und die fußzeile umgebrochen;
clickt man aber auch "plus" wird die nächste Zeile nicht wie erwartet auf Seite 2 hinzugefügt, sondern noch auf Seite 1, weil dort noch Platz von der (inzwischen auf Seite 2 platzierten) Fußzeile ist.

Kann man das Fortsetzen der Zeile auf der gerade aktuellen Seite 2 ( 3, etc. ) anbringen ?  


Anbei das pdf-Dokument
Vielen Dank
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Antworten