Autor Thema: Kaskadierende Comboboxen  (Gelesen 2332 mal)

Offline du2008

  • Frischling
  • *
  • Beiträge: 28
Kaskadierende Comboboxen
« am: 27.06.12 - 22:20:05 »
Hallo,

ich habe auf einre XPage 5 Comboboxen (C1-C5) welche je nach Auswahl der Vorgängercombobox aus einer View dynamisch die Auswahlwerte laden (also Wert in C1 ist key für ein Lookup der Werte für C2).
Das ging auch mit SSJS und PartialRefresh fix einzurichten und geht auch gut.
Ich bekomme es aber weder mit CSJS oder SSJS mit PartialRefresh hin mehr als eine Combobox zu refreshen, PartialRefresh lässt ja immer nur ein Objekt zu. (warum eigentlich?)
Ich möchte aber zum Beispiel bei Änderung von C1 C2 neu setzen und C3-C5 leer oder mit nem Text "Neu wählen" belegen, weil ja Änderungen von C1 alle nachfolgenden Comboboxen betreffen. Wird C2 geändert dann soll C3 aktualisiert werden und C4-C5 geleert werden usw. Ich hatte schon alle 5 Felder in eine Pane gepackt, aber da bin ich ja auch nicht frei in der Angabe welche Comboboxen zu aktualisieren sind, das hängt ja vom Einzelfall ab.
Gibts dafür noch ne andere Lösung?

Gruß Dirk

Offline Sven Hasselbach

  • Senior Mitglied
  • ****
  • Beiträge: 316
  • Geschlecht: Männlich
    • blog@hasselba.ch
Re: Kaskadierende Comboboxen
« Antwort #1 am: 27.06.12 - 22:56:26 »
Leider kann nur eine Id pro Refresh angegeben werden, hier unterscheiden sich XPages von JSF.
Aber es existieren ein paar Lösungsmöglichkeiten:

Eine davon wäre, die Partial Refreshs zu verketten, d.h. im OnComplete wird der nächste Refresh ausgelöst usw. Eine parallele Ausführung wäre ebenfalls denkbar.

Eine weitere Lösung wäre, die Comboboxen in verschiedene Divs zu verschachteln, so daß der kaskadische Aufbau erhalten bleibt und nur der "drunterliegende" Teil refresht wird.

Und dann wäre da noch die Möglichkeit, mit Parametern zu arbeiten, und nur das Pane zu refreshen; die Ids der zu refreshenden Comboboxen könnten dann so übergeben und dann in den Comboboxen ausgewertet werden. Das ist dann allerdings der komplizierteste Ansatz.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz