C_Klingbeil
I'm new here

Absatz in FS_LIST type="PAGE" per Skript auswählen

Hallo Community,

wir haben in FS5.2 ein Formular mit einer FS_LIST type="PAGE" name="st_section", welche die Absätze der aktuellen Seite anzeigt. Wir wollen nun eine Section per Skript auswählen.

FormDataList sectionList = st_section.get();

Iterator sectionIter = sectionList.iterator();

    while(sectionIter.hasNext()){

       FormData sectionEntry = sectionIter.next();

       FormField selectedFormField = sectionEntry.get(mLang,"selected");

       if(sectionEntry.getSectionName().equals("meine_section")){

          selectedFormField.set(java.lang.Boolean.TRUE);

       } else {

          selectedFormField.set(java.lang.Boolean.FALSE);

       }

    }

st_section.set(sectionList);

Das FormField ist danach TRUE, aber das FormData ist FALSE. An das Formular kommen wir vermutlich nicht dran, weil es auch schon in einer anderen FS_LIST geschachtelt ist. Deshalb der Umweg über st_sections (RemoteFormField).

Hat jemand eine Idee, wie es richtig funktioniert?

Viele Grüße,

C

4 Replies
marro
Crownpeak employee

Hallo Carola,

kannst Du kurz noch erläutern, wie "FormData ist FALSE" zu verstehen ist?

Viele Grüße

Donato

0 Kudos

Hallo Donato,

über folgenden Code bekomme ich den Status, ob eine Section in der FS_LIST ausgewählt ist oder nicht:

FormField selectedFormField = sectionEntry.get(mLang,"selected");

Dann möchte ich den Status mit

selectedFormField.set(java.lang.Boolean.FALSE);

setzen.

Viele Grüße,

Carola

0 Kudos

Hallo Carola,

wir haben uns deinen Fall mal intensiver angeschaut und das scheint etwas problematischer zu sein.

Die FormDataList selbst enthält überhaupt nur die selektierten Einträge aus der Eingabekomponente - ich denke also, dass deine gewünschte Section in der Liste gar nicht auftaucht - und daher wird sie auch nicht selektiert. Wenn dein Fall so aussieht, dass alle Sections ausgewählt sind, und du alle außer der gewünschten Section deselktieren willst, dann sollte es reichen, wenn du alle unerwünschten Sections aus der Liste entfernst (remove(int index)) und speicherst. Kannst du mal probieren, ob du damit weiterkommst?

Grüße,

Hannes

0 Kudos

Hallo Carola,

ist dieses Posting noch aktuell? Benötigst du noch weitere Hilfe oder Hannes' Antwort dir bereits weiter geholfen? In diesem Fall wäre es super, wenn du seine "richtige Antwort" entsprechend markierst.

Solltest du zwischenzeitlich eine eigene Lösung gefunden haben, würden wir uns freuen, wenn du diese hier bereitstellst.

Viele Grüße

Michaela

0 Kudos