For Schleife zum ein-/ausblenden von Unterformularen

Grundsätzliche Themen zur Bedienung, Erstellung von Formularen, Datenbankanbindung und Beispiele ...
Antworten
benhem
Beiträge: 12
Registriert: 27.05.2013, 11:44

For Schleife zum ein-/ausblenden von Unterformularen

Beitrag von benhem » 05.06.2013, 10:49

Hallo Zusammen,

nach langem ausprobieren und Recherchen bin ich nicht weiter gekommen.

Ich habe einen Fragebogen mit insgesamt 28 Fragen.

Frage 9 bietet eine Auswahl von Bereichen, die man ankreuzen kann, so dass danach erst Fragen eingenlendet werden.

Beispiel: Ich kreuze bei Frage 9 Bereich 1 an, dann werden Frage 10-22 angezeigt/eingeblendet.

Ich habe es wie folgt gelöst, dass ich für jede Frage folgenden Code (Change Ereignis) geschrieben habe:

if (data.FragebogenKundenzufriedenheit.Frage9.Auswahl.Bereich1.rawValue) {
   data.FragebogenKundenzufriedenheit.Frage10.presence = "visible";
   data.FragebogenKundenzufriedenheit.Frage11.presence = "visible";
   ......
}
else { 
   data.FragebogenKundenzufriedenheit.Frage10.presence = "hidden";
   data.FragebogenKundenzufriedenheit.Frage11.presence = "hidden";
   .....
}

Dies ist sehr unschön, da ich den Code mehrfach dubliziert habe und nun gerne folgende for-Schleife einsetzen würde um weniger Code zu haben:

if (data.FragebogenKundenzufriedenheit.Frage9.Auswahl.Bereich1.rawValue) {
   for (var i = 10; i < 23; i++)
   {data.FragebogenKundenzufriedenheit.Frage(i).presence = "hidden";}
}
  
else { 
   for (var i = 10; i < 23; i++)
   {data.FragebogenKundenzufriedenheit.Frage(i).presence = "hidden";}
}

Diese for-Schleife funktioniert nicht.

Die Fragen werden nicht eingeblendet. Wie kommt das?



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

For Schleife zum ein-/ausblenden von Unterformularen

Beitrag von armine » 05.06.2013, 15:01

[fontsize=2]Hallo benhem,

bevor du dich mit Schleifen befasst, solltest du in der Hilfe "resolveNode" nachlesen.
Kannst du die Fragen in einer Gruppe zusammenfassen und darauf "presence" anwenden?

vg armine[/fontsize]

benhem
Beiträge: 12
Registriert: 27.05.2013, 11:44

For Schleife zum ein-/ausblenden von Unterformularen

Beitrag von benhem » 05.06.2013, 15:36

@armine: "[fontsize=2]bevor du dich mit Schleifen befasst, solltest du in der Hilfe "resolveNode" nachlesen."

[fontsize=2][fontsize=2]um die langen [fontsize=2]Ausdrüc[fontsize=2]ke zu kürzen oder wieso?


[fontsize=2][fontsize=2]M[fontsize=2]ei[fontsize=2]nst du mit [fontsize=2]"[fontsize=2]Gruppe" , dass die die Fra[fontsize=2]gen in ein [/fontsize]"[fontsize=2]Teilformular"[fontsize=2] zusammenfüge?

[fontsize=2]
[fontsize=2]Es beantwortet aber [fontsize=2]([fontsize=2]auch wenn es anders irgendwie geh[fontsize=2]t) meine Frage[fontsize=2].

[fontsize=2]Es muss d[fontsize=2]och auch so mit der for[fontsize=2]-Schleife gehen, oder?[/fontsize][/fontsize][/fontsize]
[/fontsize][/fontsize][/fontsize][/fontsize][/fontsize][/fontsize][/fontsize][/fontsize][/fontsize][/fontsize][/fontsize][/fontsize][/fontsize][/fontsize][/fontsize][/fontsize][/fontsize][/fontsize][/fontsize]

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

For Schleife zum ein-/ausblenden von Unterformularen

Beitrag von armine » 05.06.2013, 15:54

"[fontsize=2]bevor du dich mit Schleifen befasst, solltest du in der Hilfe 'resolveNode[fontsize=2]' [/fontsize]nachlesen.
[fontsize=2][fontsize=2]um die langen [fontsize=2]Ausdrüc[fontsize=2]ke zu kürzen oder wieso?[fontsize=2]"
[fontsize=2]Damit du die Syntax lernst, die stimmt nämlich nicht in deinem Beispiel[fontsize=2].
[fontsize=2]In http://www.acronaut.de/forum18/4373.html habe ich davon ausgiebig Gebrauch gemacht – lass dich abschrecken.[/fontsize]
[/fontsize][/fontsize][/fontsize]
[fontsize=2][fontsize=2]"M[fontsize=2]ei[fontsize=2]nst du mit [fontsize=2]'[fontsize=2]Gruppe', dass die die Fra[fontsize=2]gen in ein '[/fontsize][fontsize=2]Teilformular[fontsize=2][fontsize=2]' [/fontsize]zusammenfüge?"
[fontsize=2]Nein, wenn [fontsize=2]die Fragen in einer Tabelle stehen, dann könntest du dort Zeilen gruppieren (betroffene Zeilen in der Hierarch[fontsize=2]ie markieren, rechte Maustaste[/fontsize]).
[fontsize=2]Ansonsten ist ein Teilformular eine Option.[/fontsize]
[/fontsize][/fontsize] [fontsize=2][fontsize=2][fontsize=2][fontsize=2][fontsize=2][fontsize=2]
[fontsize=2]"Es muss d[fontsize=2]och auch so mit der for[fontsize=2]-Schleife gehen, oder?"
[fontsize=2]Ja, siehe oben.[/fontsize]
[/fontsize][/fontsize][/fontsize][/fontsize][/fontsize][/fontsize][/fontsize][/fontsize][/fontsize][/fontsize][/fontsize][/fontsize][/fontsize][/fontsize][/fontsize][/fontsize][/fontsize][/fontsize][/fontsize][/fontsize][/fontsize][/fontsize]

benhem
Beiträge: 12
Registriert: 27.05.2013, 11:44

For Schleife zum ein-/ausblenden von Unterformularen

Beitrag von benhem » 05.06.2013, 16:18

Leider kann ich mir die PDF-Beispiele nicht ansehen (den Code), ohne Acrobat ;(

Könntest du mir so kurz auf die Sprünge helfen, was bei meinem Code falsch ist oder wie die Zeilen richtig wären?

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

For Schleife zum ein-/ausblenden von Unterformularen

Beitrag von armine » 05.06.2013, 16:55

Um den Code zu sehen, brauchst du den LCD.

benhem
Beiträge: 12
Registriert: 27.05.2013, 11:44

For Schleife zum ein-/ausblenden von Unterformularen

Beitrag von benhem » 06.06.2013, 08:48

Den habe ich, allerdings innerhalb von SAP.
Da kann ich ja deine PDF nicht mit einsehen, oder etwa doch?

Dein Code würde mir auch hier riesig und schnell weiterhelfen.
Ich würde mich freuen, wenn du den kurz posten würdest (ausnahmsweise) ;)


Es kann eigentlich nur die FOR-Schleife falsch sein, oder?

Code: Alles auswählen

{data.FragebogenKundenzufriedenheit.Frage(i).presence = "hidden";}
Denn das funktioniert ja:

Code: Alles auswählen

if (data.FragebogenKundenzufriedenheit.Frage9.Auswahl.CRM.rawValue) {
   data.FragebogenKundenzufriedenheit.Frage25.presence = "visible";  
   data.FragebogenKundenzufriedenheit.Frage26.presence = "visible";

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

For Schleife zum ein-/ausblenden von Unterformularen

Beitrag von armine » 06.06.2013, 13:54

Nachdem du nun dein Werkzeug (siehe http://www.acronaut.de/forum45/4389.html) gefunden hast, schaust du dir den Code sicherlich in der Quelle an.

vg armine

Antworten