Hierarchie ändern

Fragen und Antworten rund um das Thema JavaScript im LiveCycleDesigner
Antworten
xjk2572552l
Beiträge: 15
Registriert: 24.10.2011, 10:59

Hierarchie ändern

Beitrag von xjk2572552l » 07.05.2012, 15:11

Ist wahrscheinlich eine blöde Frage, aber ich finde einfach keine Antwort darauf :(

Ich habe 2 Spalten/Teilformulare die den gleichen Namen haben.

subform[0]
subform[1]

In diesen Spalten befindet sich unter anderem ein Datumsfeld. Wenn in der ersten Spalte [0] das Datum weiter in der Vergangenheit liegt als in der zweiten Spalte [1], soll das erste Feld hierarchisch gesehn an die zweite Stelle kommen und das zweite an die erste Stelle...

Hab mir gedacht, ich kann das einfach mit
"subform[0].somExpression = subform[1].somExpression"
oder über .name ändern. Allerdings hab ich mich da wohl getäuscht ;)

Danke schon im vorhinein für eure Hilfe.

Benutzeravatar
radzmar
Beiträge: 962
Registriert: 26.10.2011, 10:18

Hierarchie ändern

Beitrag von radzmar » 08.05.2012, 13:20

Du kannst die moveInstance-Methode benutzen, wenn die Teilformulare wiederholbar sind und dein Formular fließend ist.

Hier mal ein Beispiel:

Code: Alles auswählen

var vDate = Ref(Date2Num($.formattedValue, "DD.MM.YYYY"))
var vFrom = $.parent.index
var vTo = $.parent.index - 1

if (vDate gt 0) then
	if (vFrom gt 0) then
		var vDatePrev = Ref(Date2Num(subform[vTo].DateField1.formattedValue, "DD.MM.YYYY"))
		if (vDate lt vDatePrev) then
			_subform.moveInstance(vFrom, vTo)
		endif
	endif
endif
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

xjk2572552l
Beiträge: 15
Registriert: 24.10.2011, 10:59

Hierarchie ändern

Beitrag von xjk2572552l » 09.05.2012, 16:14

Hey radzmar...

ich beuge mich vor deine Weisheit :D Danke vielmals!!!
Hab mich jetzt einmal mit den wiederholbaren Teilformularen gespielt und siehe da :cool: ...
Hab zwar die moveInstance-Methode schon vorher gefunden, allerdings hab ich das nicht ganz überrissen ;)

Eine Frage hab ich allerdings noch.

Ich kann ja den Skript selbst nach einem Teilformular suchen lassen, damit ich die Syntax verkürzen kann.

Bsp.:
statt: Teilformular.Teilformular.Teilformular.Feld.
eben: Teilformular..Feld.

Sagen wir ich habe ein Protokoll mit mehreren Seiten. Auf jeder Seite befindet sich mindestens 1x das Teilformular "pfrmSpalte". Ist es möglich mit einer einzigen Zeile alle diese Felder anzusprechen?
Oder muss ich da jedes Teilformular einzeln ansprechen?

Benutzeravatar
Merklin
Beiträge: 1857
Registriert: 04.04.2009, 17:03

Hierarchie ändern

Beitrag von Merklin » 09.05.2012, 17:19

Hallo,

müsste eigentlich, mit einem Sternchen in eckigen Klammern wunderbar klappen.

VG Merklin
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

xjk2572552l
Beiträge: 15
Registriert: 24.10.2011, 10:59

Hierarchie ändern

Beitrag von xjk2572552l » 10.05.2012, 12:17

Hey merklin,

Danke für die schnelle Antwort :)

Genau da steh ich vor einem Problem...
Ich verwende ausschließlich JavaScript, da ich versucht habe mehrere verschiedene Protokolle so weit als möglich zu vereinheitlichen. Für eine bessere Übersicht, habe ich ein Skript mit allen benötigten Funktionen geschrieben und dieses in alle Protokolle importiert. Jedes Protokoll hat einen auf sich angepasstes Konfigurationsskript. BlaBlaBla ;)

Lange Rede kurzer Sinn, ich möchte gerne mit JavaScript der Vollständigkeit halber, weiterarbeiten ;)
mit FormCalc brauche ich einfach den Stern nach dem Seitennamen platzieren und anschließend wird die ganze Seite auf das Vorkommen dieses Teilformulars durchsucht,
egal wo die einzelnen "pfrmSpalte"-Teilformulare auch sind.

page1.*.pfrmSpalte.instanceManager.addInstance(1)

In meinem Fall siehe unten.

pfrmGeneral.pfrmSpalte
pfrmMisc.pfrmSpalte
pfrmBatt.pfrmSpalte


Wenn ich JavaScript, mit der resolveNode-Methode verwende, funktioniert das nicht.

xfa.resolveNode("page1.*.pfrmSpalte").instanceManger.....

Hier ist es mir nur möglich hinter pfrmSpalte, einen in einer eckigen Klammern eingeschlossenen Stern zu platzieren

Ich möchte euch ja nicht eure kostbare Zeit rauben, aber ich glaub ich bin einfach zu blöd zum suchen. Kann nämlich auch hier nichts finden:
http://help.adobe.com/de_DE/livecycle/9 ... tml#748683

Antworten