Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung - XPages => Thema gestartet von: Tode am 26.08.11 - 11:29:45

Titel: Problem: Repeat control über Feld: Bei single Value leer...
Beitrag von: Tode am 26.08.11 - 11:29:45
Wir haben hier folgendes Repeat- Control basierend auf einem Dokumentenfeld:

Code
<xp:repeat id="repeat1" rows="30"
				  	value="#{document1.History}" var="histX" indexVar="index"
				  	first="0">
				  	<xp:label value="#{histX}" id="label4"></xp:label>
				  	<xp:br id="br1"></xp:br>
				  </xp:repeat>

So lange das Feld History 2 oder mehr Werte enthält, funktioniert das wunderbar.
Aber wenn das Feld History nur einen Eintrag enthält, dann ist die Repeat- Control leer.

Vermutung: Die EML- Expression liefert dann kein Array sondern einen einzelnen String, welcher nicht als Value für ein repeat verwendet werden kann.

1. Stimmt die Vermutung?
2a. Wenn ja: Was kann ich dagegen tun?
2b. Wenn nein: Was mache ich falsch?

Thanx
Titel: Re: Problem: Repeat control über Feld: Bei single Value leer...
Beitrag von: Jan Grünklee am 26.08.11 - 11:37:02
Hi Torsten,

zu Deinen Fragen:

1. Stimmt die Vermutung? Sieht ganz danach aus. Aufgefallen ist mir das, selber noch nicht
2a. Wenn ja: Was kann ich dagegen tun? document1.getItemValue("History") verwenden. Das liefert immer einen Vector zurück
2b. Wenn nein: Was mache ich falsch? n/a

Hoffe das hilft.
Gruss Jan
Titel: Re: Problem: Repeat control über Feld: Bei single Value leer...
Beitrag von: Tode am 26.08.11 - 11:44:44
Das funktioniert. Danke.
Aber das ist natürlich tödlich, dass in der Expression- Language unterschiedliche Datentypen geliefert werden, je nachdem wie viele Werte im Feld stehen (aber das kennen wir ja in der Formelsprache auch, nur das dort Einzelwerte in Schleifen halt auch wie Arrays mit einem Element behandelt werden...
Titel: Re: Problem: Repeat control über Feld: Bei single Value leer...
Beitrag von: Jan Grünklee am 26.08.11 - 12:04:18
Ja das stimmt, man kann sich halt auf nix verlassen. Keine Ahnung was sich die Entwickler bei IBM dabei gedacht haben...