Setzen von Instanzen auf 0 über Optionsfeldliste

Fragen und Antworten rund um das Thema JavaScript im LiveCycleDesigner
Antworten
Benutzeravatar
twierschin
Beiträge: 19
Registriert: 04.01.2018, 04:12
Wohnort: Norderstedt

Setzen von Instanzen auf 0 über Optionsfeldliste

Beitrag von twierschin » 07.04.2018, 08:02

Moin moin zusammen,

beim Ändern der Optionsfeldliste (Pfad: Teilformular Antragsteller -> Optionsfeldliste2) sollen alle Eingaben unter dem Pfad "Anwendungen -> ...) gelöscht und alle Instanzen auf 0 gesetzt, also zusammengeklappt, werden. Hinbekommen habe ich das Löschen aller Eingaben bereits unter Verwendung von "xfa.host.resetData ...".

Mein Problem ist also das Setzen aller Instanzen auf 0. Also das Zusammenklappen der Instanzen.

Die Ursache meines Problems scheint mir darin zu liegen, dass manche Instanzen (Teilformulare) bei allen Optionen der Optionsfeldliste benötigt werden. Exemplarisch sei hier die Instanz für das Teilformular "A" unter dem Teilformular "Anwendungen" genannt. Es trifft aber auch andere Teilformulare mit "Unterformularen".

Zum besseren Verständnis habe ich das betreffende Formular, in anonymisierter Form, angefügt.

Eine Lösung könnte sein, die betreffenden Teilformulare zu doppeln, oder ggf. zu verdrei- / vierfachen. Dies scheint mir aber eine suboptimale Lösung zu sein. Ich glaube, es gibt bestimmt eine passende Scriptlösung. Da ich mich selbst als Scriptdummie sehe, fehlt mir hier das nötige Wissen.

Ich hoffe, es kann mir jemand Lösungsansätze, oder gar die Lösung nennen. Da ich selbst auch dabei lernen möchte, wäre auch eine Erklärung der Lösung grandios.

Vielen Dank vorab & Grüße
Thomas
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

armine
Beiträge: 2690
Registriert: 16.05.2009, 10:24

Re: Setzen von Instanzen auf 0 über Optionsfeldliste

Beitrag von armine » 07.04.2018, 09:42

Hallo Thomas,

setze das Häkchen bei anwendungen > Bindung, dass das Teilformular Instanzen bilden kann und ändere den Code in

Formular1.antragsteller.Optionsfeldliste2::click - (JavaScript, client)

//xfa.host.resetData("xfa.form.Formular1.anwendungen");

_anwendungen.insertInstance(0, 0) ;
_anwendungen.setInstances(1) ;

vg armine

Benutzeravatar
twierschin
Beiträge: 19
Registriert: 04.01.2018, 04:12
Wohnort: Norderstedt

Re: Setzen von Instanzen auf 0 über Optionsfeldliste

Beitrag von twierschin » 07.04.2018, 13:17

Vielen Dank für die schnelle Hilfe, Armine!

Jetzt klappt es!

VG und dir ein schönes Wochenende

Antworten