Maryam
Maryam

Reputation: 71

xpages, get value of a field in a form from other form

I have two forms Job and Comment,type of these forms are document and response. There is a field in the Job form that save name of developer and there is a field in the Comment form that I want to get the name of developer from Job when I want to create a comment for selected job.

Upvotes: 1

Views: 994

Answers (3)

Maryam
Maryam

Reputation: 71

A simple solution, I added the below code in default value of Assign field in response form it works now

var parentDoc = database.getDocumentByID(document1.getParentId())
      return parentDoc.getItemValueString("Developer")

Thank you Per Henrik Lausten your answer helped me to solve this issue.

Upvotes: 0

Per Henrik Lausten
Per Henrik Lausten

Reputation: 21709

One way to get field values from a parent document (in your case from the Job document) is to use a data context to create a parentDoc object. You can then refer to this parentDoc object to get field values from the parent document.

Start by creating a parentDoc data context:

<xp:this.dataContexts>
    <xp:dataContext var="parentDoc">
        <xp:this.value><![CDATA[#{javascript:
            return database.getDocumentByUNID(currentDocument.getParentId());
        }]]></xp:this.value>
    </xp:dataContext>
</xp:this.dataContexts>

If you just want to display a value from the parent document (and not save it in the response document), you can then use a computed field to display the value from the parent document (using expression language to refer to the field from the parentDoc object):

<xp:text escape="true" id="displayParentField" value="#{parentDoc.field}" />

You can also use the value from the parent document as the default value for an input field:

<xp:inputText id="responseValue" value="#{currentDocument.responseField}" defaultValue="#{parentDoc.field}" />

Upvotes: 2

Patrick Sawyer
Patrick Sawyer

Reputation: 1382

Short answer, you filter the 2nd data source with the value of the field. It could be the response field on the response doc or the value of the field that exists on both docs.

Long answer, This is a common xPages question, one I have asked myself. Take a look at this question. xPage with multiple datasources has the second datasource always opened in edit mode

Upvotes: 0

Related Questions