Domino 9 und frühere Versionen > ND8: Entwicklung - XPages
Xpages - Text innerhalb eines Repeat Control in Einzelwerte zerlegen
eknori:
Ich habe ein RepeatControl, das mir Werte aus einem Dokument darstellt.
Unter anderem wird auch der Inhalt des Items tags dargestellt
Tags: tag1, tag2, tag3
--- Code: --- <xp:panel
style="font-size:7pt;color:rgb(128,128,128);margin-bottom:5.0px">
<xp:text escape="true" id="tagLabel" value="Tags: " />
<xp:text escape="true" id="tagList" value="#{RowData.tags}" />
</xp:panel>
--- Ende Code ---
Wie zerlege ich den String aus #{RowData.tags} in seine Einzelwerte.
Ziel ist es, die Einzelwerte mit einem Link zu versehen. Klickt man diesen an werden alle Einträge mit diesem Tag dargestellt.
Ich verzettel mich hier gerade mit mehreren verschachtelten repeat controls. Muss irgendwie einfacher gehen. ( split in Javascript evtl ?)
atbits:
Hallo Ulrich, versuche mal etwas in der Art.
Ist nur Sample-Code (ungetestet)
--- Code: --- <xp:repeat id="repeatTagCloud" var="tagArray"
value="#{javascript:applicationScope.get(compositeData.id).getRepeatValue();}">
<xp:panel style="font-size:7pt;color:rgb(128,128,128);margin-bottom:5.0px">
<xp:text escape="true" id="tagLabel" value="Tags: " />
<xp:text escape="true" id="tagList">
<xp:this.value><![CDATA[#{javascript:@Explode(RowData.tags, ",");}]]></xp:this.value>
</xp:text>
</xp:panel>
</xp:repeat>
--- Ende Code ---
nochmal erweitert:
--- Code: ---<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:repeat id="repeatTagCloud" var="tagArray"
value="#{javascript:applicationScope.get(compositeData.id).getRepeatValue();}">
<xp:panel style="font-size:7pt;color:rgb(128,128,128);margin-bottom:5.0px">
<xp:text escape="true" id="tagLabel" value="Tags: " />
<xp:text escape="true" id="tagList">
<xp:this.value><![CDATA[#{javascript:var arr = @Explode(RowData.tags, ",");
var ret = "";
for(counter = 0; counter < arr.length; counter++) {
ret += "<a href='" + dbname + "/myTagView/" + arr[counter] + "'>" + arr[counter] + "</a>";
}
return ret;}]]></xp:this.value>
</xp:text>
</xp:panel>
</xp:repeat>
</xp:view>
--- Ende Code ---
Grüße David
eknori:
hmm, gibt mir irgendwie nichts zurück. Na mal sehen, aber so macht es schon Sinn
atbits:
Hast Du mein 2. Beispiel auch versucht?
atbits:
Ist "," überhaupt das richtige Trennzeichen?
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln