Basierend auf dem Vorschlag von Tim Tripcony habe ich eine einfache xpage unten implementiert, die es mir erlaubt, Nr. Zu erweitern. von Feldern, die angezeigt werden, wenn ein Benutzer auf die Schaltfläche "Mehr hinzufügen" klickt. Ich habe ein Problem mit der partiellen Aktualisierung, die sich nicht an die Daten erinnert, wenn die Schaltfläche Mehr hinzufügen eine partielle Aktualisierung durchführt und die Nummer erweitert. von Reihen.XPages mehr Felder beim Klicken auf eine Schaltfläche Problem mit teilweiser Aktualisierung
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" dojoForm="true">
<xp:this.data>
<xp:dominoDocument var="newDoc" formName="frmAddMore"></xp:dominoDocument>
</xp:this.data>
<xp:this.afterPageLoad><![CDATA[#{javascript:viewScope.rowCount = new java.lang.Integer(5);}]]></xp:this.afterPageLoad>
<xp:div id="parentDiv">
<xp:repeat indexVar="fieldSuffix" value="#{viewScope.rowCount}"
rows="#{viewScope.rowCount}" var="row">
<xp:div>
<xp:inputText id="KeyNo">
<xp:this.value><![CDATA[#{newDoc["KeyNo_#{fieldSuffix}"]}]]></xp:this.value>
</xp:inputText>
<xp:inputText id="Qty">
<xp:this.value><![CDATA[#{newDoc["Quantity_#{fieldSuffix}"]}]]></xp:this.value>
</xp:inputText>
</xp:div>
</xp:repeat>
<xp:button value="Add More" id="btnAddMore"
execMode="partial">
<xp:eventHandler event="onclick" submit="true"
execMode="partial" execId="parentDiv" refreshMode="partial" refreshId="parentDiv">
<xp:this.action><![CDATA[#{javascript:viewScope.rowCount = new java.lang.Integer(viewScope.rowCount + 5);}]]></xp:this.action>
<xp:this.script>
<xp:executeClientScript
script="dojo.window.scrollIntoView(dojo.byId('#{id:btnAddMore}').id);">
</xp:executeClientScript>
</xp:this.script>
</xp:eventHandler>
</xp:button>
</xp:div>
</xp:view>
Was fehlt mir hier?
Ich habe auch bemerkt, dass die dojo.window.scrollIntoView clientside JS-Funktion nicht funktioniert? Jede Hilfe würde sehr geschätzt werden.
Danke! Ich hatte den Eindruck, dass eine partielle Aktualisierung die vorhandenen Werte nicht verliert? Daher müsste ich bei jeder Teilaktualisierung eine Sicherung erzwingen, ohne dass die Validierung wie erwähnt durchgeführt wird. – pipalia
Wie würde ich eine Validierung erhalten, um an jeder Zeile zu arbeiten, um zu prüfen, ob es ein gültiges Produkt ist, und um andere Validierungen durchzuführen? Ich kann die ID für ein Eingabesteuerelement nicht wirklich berechnen. Wie funktioniert das mit der Fehlermeldesteuerung? – pipalia