Repeat Controls in XPages kennen lernen

10. Februar 2011 Posted by Manfred Meise

Repeat Controls (oder auch \"Wiederholen\" Steuerelemente) erlauben es, beliebige Strukturen aus eine Liste von Werten darzustellen. Um den Einsatz dieses Steuerelementes kennen zu lernen, verwende ich einige 4 einfache Beispiele mit unterschiedlichen Ergebnissen.

Daten:
Die darzustellenden Daten werden in den Bereichsvariablen \"tableData\" und \"tableCities\"abgelegt. Diese werden beim Laden der XPage mit Beispielwerten belegt.

\"Image:Repeat



Beispiel 1:
Erstellung einer einfachen Liste
  • Erstellen Sie eine neue XPage.
  • Plazieren ein \"Fenster\" aus der Liste der Containersteuerelemente an eine beliebige Stelle.
  • Ziehen Sie ein \"Wiederholen\" aus der Liste der Containersteuerelemente in dieses Fenster und vergeben folgende Eigenschaften
\"Image:Repeat
  • Fgen Sie einen Zeilenumbruch hinter dem gerade eingefgten Steuerelement ein.
  • Fgen Sie ein \"Berechnetes Feld\" aus der aus der Liste der Kernsteuerelemente hinter dem Zeilenumbruch ein und vergeben die Wertformel
\"Image:Repeat
Nach dem Speichern der XPage kann diese angezeigt werden:
\"Image:Repeat
... das Ergebnis ist gar nicht so schlecht....


Beispiel 2:
Darstellung der Werte eines mehrdimensionalen Arrays

So knnen nicht nur einzelne Werte einer eindimensionalen Liste sondern auch die aus mehrdimensionalen Arrays dargestellt werden. Zu Darstellung der Beispieldaten der Grostdte erstellen Sie ein \"Wiederholen Steuerelement\" ein
\"Image:Repeat

Nun fgen wir hierin eine Tabelle mit 1 Zeile und 3 Spalten ein. Die Zellen der Tabelle werden jeweils mit einem berechneten Feld gefllt.
\"Image:Repeat
Die Wertformeln den berechneten Felder werden bestimmt durch
Fr computedField1: tableCities[rowCities][\"name\"]
Fr computedField2: tableCities[rowCities][\"state\"]
Fr computedField3: tableCities[rowCities][\"citizans\"]

Nach dem Speichern der XPage kann diese angezeigt werden:
\"Image:Repeat
... das Ergebnis entspricht nicht so ganz meinen Vorstellungen: Ich erhalte insgesamt 5 Tabellen mit je 1 Zeile und 3 Spalten. So sind die Ergebnisse nicht sauber platziert. Ich htte jedoch gern eine Tabelle mit 5 Zeilen und 3 Spalten. Dieses erfordert einen kleinen Eingriff.


Beispiel 3:
Darstellung der Werte eines mehrdimensionalen Arrays in Form einer Tabelle

Um die Tabelle nicht mehrfach entstehen zu lassen, ist es erforderlich, das \"table\" Tag nicht mehrfach, sondern nur einmal rendern zu lassen. Hierzu ist ein kleiner Eingriff im Quelltext notwendig:
\"Image:Repeat
indem der Beginn der Tabelle vor das \"Wiederholen\" Steuerelement gesetzt wird:
\"Image:Repeat
Entsprechend muss (um eine richtige Schachtelung der XML Elemente zu gewhrleisten) die Ende-Tags ebenfalls vertauscht werden.
\"Image:Repeat
in
\"Image:Repeat
Nach dem Speichern der XPage kann diese angezeigt werden:
\"Image:Repeat
... das Ergebnis entspricht schon eher meinen Vorstellungen. Doch htte ich noch gern eine Tabellen berschrift.


Beispiel 4:
Darstellung der Werte eines mehrdimensionalen Arrays in Form einer Tabelle mit berschriften

Um der aus Beispiel 3 noch zustzlich berschriften hinzuzufgen, im Quelltext ist zustzlicher der Code hinter dem Tabellenbeginn manuell zu erweitern:
\"Image:Repeat
Hinweis:
Der obige Screenshot verwendet andere Feldnamen, als die aus Beispiel 3. Diese sind im \"for\" Attribut ggf. anzupassen.

Nach dem Speichern der XPage kann diese angezeigt werden:
\"Image:Repeat
... das Ergebnis entspricht recht genau meinen Vorstellungen: Ich erhalte insgesamt 1 Tabellen mit je 5 Datenzeilen (sowie einer berschriftszeile) und 3 Spalten.


Source Code des Beispiels

SnTT Repeat Control kennen lernen.txt

Comments are closed.