我正在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”)将获取该值。当然,如果要基于用户在(客户端)浏览器中输入的第一个字段中的值刷新(服务器端生成的)值,则需要在触发后触发部分刷新第一个字段已更新。