Willkommen
Gast
. Bitte
einloggen
oder
registrieren
.
25.05.12 - 20:39:42
News:
Schnellsuche:
Das Notes Forum
Lotus Notes / Domino 8
ND8: Entwicklung - XPages
(Moderatoren:
eknori
,
Glombi
,
Thomas Schulte
,
m3
)
Xpages - Text innerhalb eines Repeat Control in Einzelwerte zerlegen
« vorheriges
nächstes »
Seiten:
[
1
]
Autor
Thema: Xpages - Text innerhalb eines Repeat Control in Einzelwerte zerlegen (Gelesen 1018 mal)
eknori
@Notes Preisträger
Moderator
Gold Platin u.s.w. member:)
Offline
Geschlecht:
Beiträge: 10104
No guts, No glory!!
Xpages - Text innerhalb eines Repeat Control in Einzelwerte zerlegen
«
am:
14.09.10 - 13:48:17 »
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>
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 ?)
Gespeichert
Gruß Ulrich (eknori) Krause
"Reich wird man nicht durch das, was man verdient, sondern durch das, was man spart"
pulmonale Hypertonie e.V.
atbits
Gold Platin u.s.w. member:)
Offline
Geschlecht:
Beiträge: 637
Bugfree-Development ;-)
Re: Xpages - Text innerhalb eines Repeat Control in Einzelwerte zerlegen
«
Antworten #1 am:
14.09.10 - 14:07:52 »
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>
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>
Grüße David
«
Letzte Änderung: 14.09.10 - 14:18:12 von atbits
»
Gespeichert
David Schiffer
================================
atBits GmbH & Co. KG -
http://www.atbits.de
Softwareentwicklung und Beratung
im Einsatz:
Lotus Domino 6.5.x, 7.x, 8.x, 8.5.x
CooperTeam DesktopManager
eknori
@Notes Preisträger
Moderator
Gold Platin u.s.w. member:)
Offline
Geschlecht:
Beiträge: 10104
No guts, No glory!!
Re: Xpages - Text innerhalb eines Repeat Control in Einzelwerte zerlegen
«
Antworten #2 am:
14.09.10 - 14:28:58 »
hmm, gibt mir irgendwie nichts zurück. Na mal sehen, aber so macht es schon Sinn
Gespeichert
Gruß Ulrich (eknori) Krause
"Reich wird man nicht durch das, was man verdient, sondern durch das, was man spart"
pulmonale Hypertonie e.V.
atbits
Gold Platin u.s.w. member:)
Offline
Geschlecht:
Beiträge: 637
Bugfree-Development ;-)
Re: Xpages - Text innerhalb eines Repeat Control in Einzelwerte zerlegen
«
Antworten #3 am:
14.09.10 - 14:36:07 »
Hast Du mein 2. Beispiel auch versucht?
Gespeichert
David Schiffer
================================
atBits GmbH & Co. KG -
http://www.atbits.de
Softwareentwicklung und Beratung
im Einsatz:
Lotus Domino 6.5.x, 7.x, 8.x, 8.5.x
CooperTeam DesktopManager
atbits
Gold Platin u.s.w. member:)
Offline
Geschlecht:
Beiträge: 637
Bugfree-Development ;-)
Re: Xpages - Text innerhalb eines Repeat Control in Einzelwerte zerlegen
«
Antworten #4 am:
14.09.10 - 14:38:23 »
Ist "," überhaupt das richtige Trennzeichen?
Gespeichert
David Schiffer
================================
atBits GmbH & Co. KG -
http://www.atbits.de
Softwareentwicklung und Beratung
im Einsatz:
Lotus Domino 6.5.x, 7.x, 8.x, 8.5.x
CooperTeam DesktopManager
atbits
Gold Platin u.s.w. member:)
Offline
Geschlecht:
Beiträge: 637
Bugfree-Development ;-)
Re: Xpages - Text innerhalb eines Repeat Control in Einzelwerte zerlegen
«
Antworten #5 am:
14.09.10 - 14:55:07 »
Hallo Ulrich,
also nochmals ein wenig konkreter, so läuft es in einer Testsite bei mir:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:repeat id="repeatTagCloud" var="tagVar"
value="#{javascript: @Explode('lala,lulu,lolo');}">
<xp:panel style="font-size:7pt;color:rgb(128,128,128);margin-bottom:5.0px">
<xp:text escape="false" id="tagList">
<xp:this.value><![CDATA[#{javascript:
var dbname = @DbName()[1];
var ret = "<a href='/" + dbname + "/myTagView/" + tagVar + "'>" + tagVar + "</a> ";
return ret;}]]></xp:this.value>
</xp:text>
</xp:panel>
</xp:repeat>
</xp:view>
Statt dem value="#{javascript: @Explode('lala,lulu,lolo');}"
würdest Du natürlich z.B. ein JS-Function aufrufen, die Dir ein Array von relevanten Tags liefert also z.B.:
value="#{javascript: getAllMyTags();}"
Hoffe das hilft weiter.
Grüße David
Gespeichert
David Schiffer
================================
atBits GmbH & Co. KG -
http://www.atbits.de
Softwareentwicklung und Beratung
im Einsatz:
Lotus Domino 6.5.x, 7.x, 8.x, 8.5.x
CooperTeam DesktopManager
eknori
@Notes Preisträger
Moderator
Gold Platin u.s.w. member:)
Offline
Geschlecht:
Beiträge: 10104
No guts, No glory!!
Re: Xpages - Text innerhalb eines Repeat Control in Einzelwerte zerlegen
«
Antworten #6 am:
14.09.10 - 15:00:29 »
yep, so bekomme ich das hin. Danke
Gespeichert
Gruß Ulrich (eknori) Krause
"Reich wird man nicht durch das, was man verdient, sondern durch das, was man spart"
pulmonale Hypertonie e.V.
JulianBuss
Aktives Mitglied
Offline
Beiträge: 132
Ich liebe dieses Forum!
Re: Xpages - Text innerhalb eines Repeat Control in Einzelwerte zerlegen
«
Antworten #7 am:
14.09.10 - 20:28:44 »
Wenn ich das richtig erinnere, ist @Explode übrigens nur eine Abkürzung für die .split() Methode eines Strings.
Demnach müsstet so eine Stück JavaScript auch gehen:
Code:
var s = "eins,zwei,drei";
var l = s.split(",")
Ansonsten find ich auch nix schlechtes an verschachtelten Repeat-Controls, dann könntest Du im inneren Repeat-Control das Link Control nutzen statt HTML selbst zusammenzubauen.
Gespeichert
eknori
@Notes Preisträger
Moderator
Gold Platin u.s.w. member:)
Offline
Geschlecht:
Beiträge: 10104
No guts, No glory!!
Re: Xpages - Text innerhalb eines Repeat Control in Einzelwerte zerlegen
«
Antworten #8 am:
15.09.10 - 10:51:33 »
Danke für die Tipps. Ist im Grunde ganz einfach. Das Problem, das ich hatte: Ich wusste nicht, wie ich an die Daten aus dem "tags" Item im Dokument komme.
Bei David Leedy habe ich dann den ausschlaggebenden Tipp bekommen.
http://xpagesblog.com/xpages-blog/2010/3/30/displaying-a-multi-value-field-with-a-repeat-control.html
der Code sieht jetzt bei mir so aus. Das repeat sitzt in einem weiteren repeat, welches RowData liefert.
Jetzt holt man sich mit
Zitat
RowData.getDocument().getItemValue("tags");
die Werte aus dem Item "tags" und übergibt diese Werte an ein weiteres repeat Control
Zitat
<xp:panel
style="font-size:7pt;color:rgb(128,128,128);margin-bottom:5.0px">
<xp:repeat id="repeatTags" rows="250" var="taglist">
<xp:this.value><![CDATA[#{javascript:RowData.getDocument().getItemValue("tags");}]]></xp:this.value>
<xp:link escape="true" id="tagLink">
<xp:this.text><![CDATA[#{javascript:taglist + " "}]]></xp:this.text>
<xp:eventHandler event="onclick"
submit="true" refreshMode="complete">
<xp:this.action>
<xp:openPage>
<xp:this.name><![CDATA[#{javascript:"/tags.xsp?tag=" + taglist}]]></xp:this.name>
</xp:openPage>
</xp:this.action>
</xp:eventHandler>
</xp:link>
</xp:repeat>
</xp:panel>
Das LinkControl erledigt den Rest. Im OnClick Event baut man sich die URL samt Parametern zusammen.
«
Letzte Änderung: 15.09.10 - 11:00:11 von eknori
»
Gespeichert
Gruß Ulrich (eknori) Krause
"Reich wird man nicht durch das, was man verdient, sondern durch das, was man spart"
pulmonale Hypertonie e.V.
Seiten:
[
1
]
« vorheriges
nächstes »
Gehe zu:
Bitte wählen Sie ein Ziel:
-----------------------------
ATNOTES TEAM
-----------------------------
=> Neuigkeiten - Wichtiges
===> Archiv
-----------------------------
Lotus Notes / Domino 8
-----------------------------
=> ND8: Administration & Userprobleme
=> ND8: Entwicklung
=> ND8: Entwicklung - XPages
-----------------------------
Lotus Notes / Domino 7
-----------------------------
=> ND7: Administration & Userprobleme
=> ND7: Entwicklung
-----------------------------
Lotus Notes / Domino 6
-----------------------------
=> ND6: Administration & Userprobleme
=> ND6: Entwicklung
-----------------------------
Domino 5 und frühere Versionen
-----------------------------
=> Administration & Userprobleme
=> Entwicklung
-----------------------------
Lotus Notes / Domino Sonstiges
-----------------------------
=> Tipps und Tricks
=> Tools & Downloads
=> Projekt Bereich
===> Help-Desk Applikation !!Help!!
=> Java und .NET mit Notes/Domino
=> Companion Products
=> OLE/COM-Programmierung
=> Aus- und Weiterbildung
-----------------------------
Best Practices
-----------------------------
=> At Notes Best Practices
=> Diskussionen zu Best Practices
-----------------------------
Sonstiges
-----------------------------
=> Offtopic
=> Kritik & Vorschläge
=> Infrastruktur
=> Job Suche/Angebote
1 Stunde
1 Tag
1 Woche
1 Monat
Immer
Einloggen mit Benutzername, Passwort und Sitzungslänge
Powered by SMF 1.1.16
|
SMF © 2006, Simple Machines
Impressum Atnotes.de -
Powered by Syslords Solutions -
Datenschutz
| Partner:
Tinte / Toner günstig