XPages - 在查找 xe:simpleValuePicker 时使用变量

XPages - use a variable in a lookup for an xe:simpleValuePicker

本文关键字:变量 simpleValuePicker 查找 xe XPages      更新时间:2023-09-26

我在XPage上使用与xe:simplevaluePicker关联的两个字段,并希望第二个字段的@DbLookup公式将第一个字段的值合并为键。我怎样才能最好地做到这一点?目前,xe:simpleValuePicker 给出一个 "Type:Error: resp is 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.getItemValueString("MyFieldName") 将获取该值,如果 document1 是相关数据源的名称。当然,如果要根据用户在(客户端)浏览器中输入的第一个字段中的值刷新(服务器端生成的)值,则需要在更新第一个字段后触发部分刷新。