2016-05-04 58 views
1

我在奇怪的效果中掙扎: 在重複控件中,我有一個帶有fileupload和-download控件的自定義控件。項目名稱是用重複的行var計算的,所以我可以爲我的筆記文檔生成「動態字段」。 工作正常(上傳會單獨顯示並保存在不同的富文本項目中),除了文件刪除按鈕:它只能刪除最近一次對我的重複的文檔下載控件中的文件。據我檢查:其他文件下載的刪除按鈕嘗試從重複中的最後一個項目名稱中刪除文件,而不是從相應的項目名稱中刪除。xpages文件上傳控件無法在重複控件中刪除

這是我(簡化了這個發帖)的示例代碼:

的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

感謝這個快速解決! –

相關問題