Question

J'ai un bouton dans un XPage qui crée un document et rafraîchit un contrôle répété.Tout fonctionne bien, à l'exception du contrôle répété indique le document nouvellement ajouté en haut de la table (IMG1).

Mais après avoir rafraîchi le XPage, le contrôle de la répétition rend le tableau correctement (IMG2)

code de répétition

<xp:panel>
  <xp:table style="width:100.0%">
    <xp:tr>
      <xp:td style="font-weight:bold">
        Hardware
      </xp:td>
      <xp:td style="font-weight:bold">
        Quantity
      </xp:td>
      <xp:td style="font-weight:bold">
        Asset Tag No
      </xp:td>
      <xp:td style="font-weight:bold">
        Previous User
      </xp:td>
      <xp:td>
      </xp:td>
    </xp:tr>
    <xp:repeat id="rpHardware" rows="30" var="clHardwares">
      <xp:this.value>
        <![CDATA[#{javascript:var docMain:NotesDocument = compositeData.docOnboarding.getDocument();
var vwApp:NotesView = database.getView("lkupHardwaresByParentID");
vwApp.getAllDocumentsByKey(docMain.getUniversalID(),true)}]]>
      </xp:this.value>
      <xp:tr>
        <xp:td>
          <xp:text escape="true" id="cfHWName">
            <xp:this.value>
              <![CDATA[#{javascript:clHardwares.getItemValueString("REQ_HW_Name")}]]>
            </xp:this.value>
          </xp:text>
        </xp:td>
        <xp:td>
          <xp:text escape="true" id="cfHWQuantity">
            <xp:this.value>
              <![CDATA[#{javascript:clHardwares.getItemValueString("REQ_HW_Quantity")}]]>
            </xp:this.value>
          </xp:text>
        </xp:td>
        <xp:td>
          <xp:text escape="true" id="cfHWAssetTagNo">
            <xp:this.value>
              <![CDATA[#{javascript:clHardwares.getItemValueString("REQ_HW_AssetTagNo")}]]>
            </xp:this.value>
          </xp:text>
        </xp:td>
        <xp:td>
          <xp:text escape="true" id="cfHWPreviousUser">
            <xp:this.value>
              <![CDATA[#{javascript:clHardwares.getItemValueString("REQ_HW_PreviousUser")}]]>
            </xp:this.value>
          </xp:text>
        </xp:td>

        <xp:td>
          <xp:link escape="true" text="Edit" id="link4">
            <xp:eventHandler event="onclick"
            submit="true" refreshMode="complete">
              <xp:this.action>
                <![CDATA[#{javascript:viewScope.put("selHardware",clHardwares.getNoteID());
getComponent("dlgAddHardware").show();}]]>
              </xp:this.action>

            </xp:eventHandler>
          </xp:link>
          <xp:link escape="true" id="link5" text="Delete">
          </xp:link>
        </xp:td>
      </xp:tr>
    </xp:repeat>
  </xp:table>
</xp:panel>

img1

img2

Était-ce utile?

La solution

Avez-vous essayé de définir la propriété "RemovereePeat" de la répétition à true?Cela supprime les contrôles de div les contrôles non désirés créés à partir de la répétition après la fin du travail du contrôle.

(répéter >> toutes les propriétés >> Basics)

EDIT:

Vous avez oublié de mentionner que votre bouton ne peut pas effectuer un rafraîchissement partiel sur la répétition elle-même si cette propriété est définie sur True.Donnez plutôt votre table environnante ou un panneau d'addition son propre identifiant que vous pouvez utiliser pour effectuer la mise à jour de la nécessité

Autres conseils

Avez-vous actualisé votre vision après avoir créé le nouveau document?

base de données.geview ("Viewname"). Actualiser ();

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top