我正在XPage上使用与xe:simplevaluePicker关联的两个字段,并且希望第二个字段的@DbLookup公式将第一个字段的值合并为键。我怎样才能最好地做到这一点?目前,xe:simpleValuePicker给出了“ Type:Error:resp为null”

目前,我的代码是:

<xp:inputText id="Function" value="#{document1.Function}"     styleClass="EditBoxWidth"     required="true">

<xp:eventHandler event="onchange" submit="false" refreshMode="partial"    refreshId="valuePickerMT"></xp:eventHandler>
</xp:inputText>

<xe:valuePicker id="valuePicker" for="Function" dialogTitle="SELECT">
<xe:this.dataProvider>
<xe:dominoViewValuePicker databaseName="#{javascript:@Subset(@DbName(),-1)}"    labelColumn="FunctionName">
<xe:this.viewName><![CDATA[#{javascript:var viewname = "$L-Function-WEB"; viewname}]]>     </xe:this.viewName>
</xe:dominoViewValuePicker>
</xe:this.dataProvider>
</xe:valuePicker>

<xp:inputText id="MainTasks" value="#{document1.MainTasks}"
required="true" styleClass="EditBoxWidth">
</xp:inputText>

<xe:valuePicker id="valuePickerMT" for="MainTasks" dialogTitle="SELECT">

<xe:this.dataProvider>
<xe:simpleValuePicker>

<xe:this.valueList><![CDATA[#{javascript:var viewname = "$L-Function-WEB";
var key = getComponent("Function").getValue();
var results = @DbLookup(@DbName(),viewname,key,3);
results}]]></xe:this.valueList>
</xe:simpleValuePicker>
</xe:this.dataProvider>
xe:valuePicker>
</xp:span>

最佳答案

如果document1是相关数据源的名称,则document1.getItemValueString(“ MyFieldName”)将获取该值。当然,如果要基于用户在(客户端)浏览器中输入的第一个字段中的值刷新(服务器端生成的)值,则需要在触发后触发部分刷新第一个字段已更新。

07-24 17:28