AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
16.11.18 - 00:00:04
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News: Wir begrüßen Tode als neuen Moderator!
Schnellsuche:
+  Das Notes Forum
|-+  Lotus Notes / Domino 8
| |-+  ND8: Entwicklung - XPages (Moderatoren: eknori, Thomas Schulte, m3)
| | |-+  Data binding bei Feldern im Repeat Control
« vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: Data binding bei Feldern im Repeat Control  (Gelesen 2092 mal)
vietzer
Frischling
*
Offline Offline

Geschlecht: Männlich
Beiträge: 31



« am: 18.08.11 - 14:53:10 »

Hallo,

in einem Dokument gibt es pro Sprache verschiedene Felder für Inhalte also z.B. Title_DE,Title_EN,Title_PL usw...

Ich habe in meiner XPage nun ein RepeatControl eingefügt in dem sich eine EditBox befindet welches die Inhalte aus dem Dokument anzeigen soll.
Das Control iteriert über die Liste der verfügbaren Sprachen und das Feld wird dann dementsprechend auch dreimal angezeigt (für DE,EN und PL).

Allerdings schaffe ich es nicht die Werte aus dem Dokument in den Feldern der XPage anzuzeigen.
Wie kann ich das beim Data-Binding für das Feld angeben dass er auch den aktuellen Wert aus dem RepeatControl (also z.B. DE oder EN) mit einbezieht?
« Letzte Änderung: 19.08.11 - 08:55:02 von vietzer » Gespeichert

Gruß, Steffen
Jens Winkelmann
Junior Mitglied
**
Offline Offline

Geschlecht: Männlich
Beiträge: 53


Jens Winkelmann


WWW
« Antworten #1 am: 18.08.11 - 20:04:58 »

Das Beispiel sollte funktionieren:

Code:
<?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:repeat
id="repeat1"
rows="30"
var="varcollection"
repeatControls="true">
<xp:this.value><![CDATA[${javascript:return @Explode("de,en,pl",",");}]]></xp:this.value>

<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: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>

Der Kniff bei der Sache ist, dass man die Datenanbindung auch via JavaScript berechnen kann.
Der JavaScript Code berechnet einen Expression Language Ausdruck und gibt diesen zurück.

Wichtig ist, dass man 'Compute on Page load' setzt.
Gespeichert
vietzer
Frischling
*
Offline Offline

Geschlecht: Männlich
Beiträge: 31



« Antworten #2 am: 19.08.11 - 08:54:40 »

Hallo Jens,

dankeschön. Funktioniert einwandfrei!
Gespeichert

Gruß, Steffen
Flachmann
Aktives Mitglied
***
Offline Offline

Geschlecht: Männlich
Beiträge: 121



« Antworten #3 am: 19.06.12 - 14:26:08 »

(Vergesst bitte die Frage hier, war falsch, sorry!)  Cry
« Letzte Änderung: 19.06.12 - 14:36:20 von Flachmann » Gespeichert

Gruß,
  __________
  _/_
  /lachmann
LN1991
Frischling
*
Offline Offline

Beiträge: 23



« Antworten #4 am: 10.10.18 - 19:37:46 »

Der Kniff bei der Sache ist, dass man die Datenanbindung auch via JavaScript berechnen kann.
Der JavaScript Code berechnet einen Expression Language Ausdruck und gibt diesen zurück.

Vielen Dank für den wertvollen Tipp. Ich konnte den Code schon sinnvoll einsetzen.
Doch jetzt stehe ich vor der Problematik, die Eingabe zu validieren.
Konkret muss ich protokollieren, in welchen Feldern aus der dynamischen Liste eine Änderung vorgenommen wurde.
Der Wert des jeweiligen Feldes erhalte ich über "this.getParent().getValue();"
Wie kann ich noch den Namen des Feldes feststellen?
Hierbei könnte ich Hilfe gebrauchen.
« Letzte Änderung: 10.10.18 - 19:54:04 von LN1991 » Gespeichert

Gruss Helmut
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: