質問

私は文書を作成し、繰り返し制御を更新するXPageにボタンを持っています。リピートコントロールがテーブルの上部に新しく追加されたドキュメントを表示していることを除いて、すべてがうまく機能しています(IMG1)。

しかしXPageを再度更新した後、繰り返し制御はテーブルを正しくレンダリングする(IMG2)

繰り返しコード

<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

役に立ちましたか?

解決

繰り返しの「removeRepeat」プロパティをtrueに設定しましたか?これにより、コントロールのジョブが行われた後に繰り返しから作成された不要なDIVコントロールが削除されます。

(繰り返し>>すべてのプロパティ>>基本)

編集:

そのプロパティがtrueに設定されている場合、ボタンを繰り返し自分自身の部分的な更新を実行できないことを忘れてください。その代わりに、あなたの周囲のテーブルや追加のパネルにあなたが必要なものを実行するために使用できる独自のIDを与えます

他のヒント

新しい文書を作成した後にビューを更新しましたか?

database.getView( "ViewName")refresh();

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top