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
![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
Daten: Die darzustellenden Daten werden in den Bereichsvariablen "tableData" und "tableCities"abgelegt. Diese werden beim Laden der XPage mit Beispielwerten belegt.
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
- 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
Nach dem Speichern der XPage kann diese angezeigt werden:
... 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
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.
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:
... 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:
indem der Beginn der Tabelle vor das "Wiederholen" Steuerelement gesetzt wird:
Entsprechend muss (um eine richtige Schachtelung der XML Elemente zu gewährleisten) die Ende-Tags ebenfalls vertauscht werden.
in
Nach dem Speichern der XPage kann diese angezeigt werden:
... 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:
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:
... 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