2014-07-15 100 views
0

我之前添加了這個問題xpages passing the UNID to other field ......目前看起來它的工作。xpages爲什麼我的字段值不能正確複製

我創建的<xe:dialog>結構(其使用一個單一的數據源:Pdoc)後,我觀察我不能得到的其他數據源的正確UNIDCdoc。有一個計算字段:該對話框是由具有數據源Cdoc.

在主XPAGE(Cdoc其具有作爲數據源):所述的XPages顯示(txt_UNID是具有式@Text窗體上(@uniquedocumentid))

<xp:text escape="true" id="computedField3" value="#{Cdoc.txt_UNID}"></xp:text> 

和一個按鈕,用於顯示的對話框:

<xp:button value="Adding a Pdoc structure inside my dialog" id="button3" 
     styleClass="lotusFormButton" refreshMode="partial" rendered="#{javascript:currentDocument.isEditable()}"> 

     <xp:eventHandler event="onclick" submit="true" 
      refreshMode="partial" refreshId="computedField3"> 
      <xp:this.action><![CDATA[#{javascript: if (Cdoc.isNewNote()) { Cdoc.save(); 
Cdoc.setValue("computedField3",Cdoc.getDocument().getUniversalID()); 
getComponent('exampleDialog').show() } 
else 
{ 
Cdoc.setValue("computedField3",Cdoc.getDocument().getUniversalID()); 
getComponent('exampleDialog').show()} 
}]]></xp:this.action> 
     </xp:eventHandler> 
    </xp:button> 

該對話框具有refreshOnShow集到true。在對話框裏面,有一個字段(綁定到Pdoc源),我想顯示存儲在一計算領域,從我的主要的XPage Cdoc的UNID:

    <xp:inputText value="#{Pdoc.txt_CompanieUNID}" 
         id="inputText1" defaultValue="#{Cdoc.txt_UNID}"> 
        </xp:inputText> 

我認爲這個問題是在這裏.. 。而不是#{Cdoc.txt_UNID},我曾嘗試添加getComponent("computedField3").getValue()作爲我的以上inputText的默認值,但我得到一個錯誤,考慮到事實,我想,computedField3不在對話框內? 我在做什麼錯?

順便說一句,該對話框中包含衆多領域(綁定到PDOC)具有默認值:

Cdoc.<field_name> 

和它的作品確定。我不知道爲什麼在computedField3/txt_UNID的情況下不起作用。 感謝您的時間!

回答

0

您在混合字段名稱和組件名稱。在顯示對話框中更新txt_UNID字段的對話框中執行以下操作:

Cdoc.setValue("txt_UNID", Cdoc.getDocument().getUniversalID()); 
+0

我確實在您的按鈕代碼中添加了您的建議。但是,我的問題(正如問題標題中所述)是我無法將此值(從computedField3或txt_UNID)傳遞到對話框中的字段。顯示對話框後的txt_UNID有一個值,對話框中的字段有其他值/ UNID –

+0

您確定Cdoc在txt_UNID字段中有值嗎? –

+0

此字段:是可見的,所以我可以驗證該值。事實上,在顯示對話框之後,這個字段包含一個值/ UNID。 –

相關問題