Datenschutz

 8.0.x  8.5.x 

Repeat Controls in XPages kennen lernen

Manfred Meise  10 Februar 2011 20:58:42
 
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 Controls in XPages kennen lernen



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 Controls in XPages kennen lernen
  • Fügen Sie einen Zeilenumbruch hinter dem gerade eingefügten Steuerelement ein.
  • Fügen Sie ein "Berechnetes Feld" aus der aus der Liste der Kernsteuerelemente hinter dem Zeilenumbruch ein und vergeben die Wertformel
Image:Repeat Controls in XPages kennen lernen
Nach dem Speichern der XPage kann diese angezeigt werden:
Image:Repeat Controls in XPages kennen lernen
... das Ergebnis ist gar nicht so schlecht....


Beispiel 2:
Darstellung der Werte eines mehrdimensionalen Arrays

So können nicht nur einzelne Werte einer eindimensionalen Liste sondern auch die aus mehrdimensionalen Arrays dargestellt werden. Zu Darstellung der Beispieldaten der Großstädte erstellen Sie ein "Wiederholen Steuerelement" ein
Image:Repeat Controls in XPages kennen lernen

Nun fügen wir hierin eine Tabelle mit 1 Zeile und 3 Spalten ein. Die Zellen der Tabelle werden jeweils mit einem berechneten Feld gefüllt.
Image:Repeat Controls in XPages kennen lernen
Die Wertformeln den berechneten Felder werden bestimmt durch
Für computedField1: tableCities[rowCities]["name"]
Für computedField2: tableCities[rowCities]["state"]
Für computedField3: tableCities[rowCities]["citizans"]

Nach dem Speichern der XPage kann diese angezeigt werden:
Image:Repeat Controls in XPages kennen lernen
... 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 hätte 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 Controls in XPages kennen lernen
indem der Beginn der Tabelle vor das "Wiederholen" Steuerelement gesetzt wird:
Image:Repeat Controls in XPages kennen lernen
Entsprechend muss (um eine richtige Schachtelung der XML Elemente zu gewährleisten) die Ende-Tags ebenfalls vertauscht werden.
Image:Repeat Controls in XPages kennen lernen
in
Image:Repeat Controls in XPages kennen lernen
Nach dem Speichern der XPage kann diese angezeigt werden:
Image:Repeat Controls in XPages kennen lernen
... das Ergebnis entspricht schon eher meinen Vorstellungen. Doch hätte 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 zusätzlich Überschriften hinzuzufügen, im Quelltext ist zusätzlicher der Code hinter dem Tabellenbeginn manuell zu erweitern:
Image:Repeat Controls in XPages kennen lernen
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 Controls in XPages kennen lernen
... 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