Wenn ich es richtig verstanden habe, willst du folgendes machen:
Der Benutzer soll eine XPage öffnen.
Dort kann er anklicken welche Felder er eingeben möchte. Im Beispiel welche Sprachen er haben möchte.
Je nach Auswahl des Benutzers sollen die entsprechenden Felder angezeigt werden oder nicht.
Beim Speichern sollen dann nur die Werte der ausgewählten Sprachen in den zugehörigen Feldern gespeichert werden.
Meine Lösung http://atnotes.de/index.php/topic,52383.0.html klappt für diese Anforderung nicht.
Grund: Das dynamische Anbinden von Feldern klappt nur beim Laden der XPage.
Also nur bei Compute on Page Load ($) und nicht bei Compute Dynamically (#)
Da der Benutzer aber nach dem Öffnen der XPage seine Auswahl trifft, kann das Repeat nicht mehr die gewünschten Felder generieren.
Ich würde es also so machen.
Nachfolgend habe ich mein Beispiel erweitert:
1) Beim beforePageLoad Event speicher ich alle Sprachen in ViewScope Variablen
2) Mit einer checkBoxGroup kann der Benutzer die gewünschten Sprachen auswählen
3) Beim onchange Event wird das Repeat Control refreshed
4) Das Repeat-Control generiert immer alle Sprachen
5) Über ein Span werden aber nur die Sprachen angezeigt, die der Benutzer auch gewählt hat.
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:this.data>
<xp:dominoDocument var="document1"></xp:dominoDocument>
</xp:this.data>
<xp:this.beforePageLoad><![CDATA[#{javascript:var languages:java.util.Vector = @Explode("de,en,pl",",");
viewScope.put("allLanguages",languages);
viewScope.put("selectedLanguages", languages)}]]></xp:this.beforePageLoad>
<xp:checkBoxGroup id="checkBoxGroup1"
value="#{viewScope.selectedLanguages}">
<xp:this.defaultValue><![CDATA[#{javascript:return viewScope.get( "allLanguages" );}]]></xp:this.defaultValue>
<xp:eventHandler event="onchange" submit="true"
refreshMode="partial" refreshId="repeat1">
<xp:this.action><![CDATA[#{javascript:// partial update}]]></xp:this.action>
</xp:eventHandler>
<xp:selectItems>
<xp:this.value><![CDATA[#{javascript:return viewScope.get( "allLanguages" );}]]></xp:this.value>
</xp:selectItems>
</xp:checkBoxGroup>
<xp:repeat id="repeat1" rows="30" var="varcollection"
repeatControls="true">
<xp:this.value><![CDATA[#{javascript:return viewScope.get( "allLanguages" );}]]></xp:this.value>
<xp:span>
<xp:this.rendered><![CDATA[#{javascript:var vec:java.util.Vector = viewScope.get( "selectedLanguages" );
return @IsMember(varcollection,vec);
}]]></xp:this.rendered>
<xp:label id="label1">
<xp:this.value><![CDATA[#{javascript:return varcollection + ": ";}]]></xp:this.value>
</xp:label>
<xp:inputText id="inputText1" loaded="true">
<xp:this.value><![CDATA[${javascript:var fieldName = "Help_" + varcollection;
return '#{currentDocument.' + fieldName + '}';}]]></xp:this.value>
</xp:inputText>
<xp:br></xp:br>
</xp:span>
</xp:repeat>
<xp:button
value="Submit"
id="button1">
<xp:eventHandler event="onclick" submit="true" refreshMode="complete" immediate="false" save="true"></xp:eventHandler></xp:button>
</xp:view>