2016-05-04 10 views
1

私は奇妙なエフェクトに苦しんでいます: リピートコントロールでは、私はファイルアップロードとダウンロードのコントロールを持つカスタムコントロールを持っています。アイテム名は繰り返しの行varで計算されるので、私のノート文書のための「動的フィールド」を生成することができます。 ファイルの削除ボタンを除いて、正常に動作します(アップロードは別々に表示され、異なるリッチテキスト項目に保存されます)。これは、自分のリピートの最後のファイルアップロードコントロールのファイルのみを削除できます。私が調べたところでは、他のフィールドダウンロードの削除ボタンは、対応するアイテム名ではなく、リピートの最後のアイテム名からファイルを削除しようとします。ここ xpages fileuploadコントロールはリピートコントロールで削除できません

は私のサンプルコード(この投稿のために簡略化)されています

のXPage:

<xp:view xmlns:xp="http://www.ibm.com/xsp/core" 
    xmlns:xc="http://www.ibm.com/xsp/custom"> 

    <xp:this.data> 
     <xp:dominoDocument var="test" formName="answers"></xp:dominoDocument> 
    </xp:this.data> 

    <xp:repeat id="repeat1" rows="30" var="r"> 
     <xp:this.value><![CDATA[#{javascript:var atts = new Array(); 
      atts.push("att1"); 
      atts.push("att2"); 
      atts.push("att3"); 
      return atts}]]></xp:this.value> 
     <xc:ccdummy fname="#{javascript:r}"></xc:ccdummy> 
    </xp:repeat> 


    <xp:button value="Save" id="button1"><xp:eventHandler event="onclick" submit="true" refreshMode="complete" immediate="false" save="true"> 
    <xp:this.action> 
     <xp:saveDocument var="test"></xp:saveDocument> 
    </xp:this.action></xp:eventHandler></xp:button> 
    </xp:view> 

カスタムコントロール:

<xp:view xmlns:xp="http://www.ibm.com/xsp/core"> 
    <xp:panel id="ccpanel"> 
     <xp:fileUpload id="fileUpload1"> 
      <xp:this.value><![CDATA[#{test[compositeData.fname]}]]></xp:this.value> 
      <xp:eventHandler event="onchange" submit="true" 
       refreshMode="partial" disableValidators="true" refreshId="ccpanel"> 
      </xp:eventHandler> 
      <xp:eventHandler event="onclick" submit="true" 
       refreshMode="norefresh"> 
      </xp:eventHandler></xp:fileUpload> 
     <xp:fileDownload rows="30" id="fileDownload1" 
      displayLastModified="false" hideWhen="true" 
      allowDelete="true"> 
      <xp:this.value><![CDATA[#{test[compositeData.fname]}]]></xp:this.value><xp:eventHandler event="onclick" submit="true" 
       refreshMode="norefresh"> 
      </xp:eventHandler> 
     </xp:fileDownload> 
    </xp:panel></xp:view> 

答えて

3

があなたのリピートコントロールにオプションrepeatControls="true"を追加します。

リピートコントロールの組み込みカスタムコントロールはすべて個別に作成され、独立して動作します。

私はあなたの例でそれをテストした:

  • repeatControls="false":最後のダウンロード制御からの添付ファイルのみを
  • repeatControls="true"を削除することができます。すべてのダウンロードコントロールからの添付ファイルは、このために
+0

感謝を削除することができます迅速な解決策! –

関連する問題