组合框 - 显示多值数字字段
combobox - displaying multivalue numeric field
我有一个表单,其中包含启用了多值的数字字段。当它具有多个值时,我想在组合框中的 xpage 上显示它。但是我收到错误 500 消息。
当我尝试使用多值文本字段实现相同的目的时,xpage 已呈现。
我做错了什么?
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:this.data>
<xp:dominoDocument var="doc" formName="test"
action="editDocument">
</xp:dominoDocument>
</xp:this.data>
<xp:table>
<xp:tr>
<xp:td>
<xp:label value="Label:" id="lb"
for="label1">
</xp:label>
</xp:td>
<xp:td>
<xp:comboBox id="cbLabel" value="#{doc.label}">
<xp:selectItems>
<xp:this.value><![CDATA[#{javascript:return doc.getItemValue("label")}]]></xp:this.value>
</xp:selectItems>
</xp:comboBox>
</xp:td>
</xp:tr>
<xp:tr>
<xp:td>
<xp:label value="Price:" id="pr"
for="price1">
</xp:label>
</xp:td>
<xp:td>
<xp:comboBox id="cbPrice" value="#{doc.price}">
<xp:selectItems>
<xp:this.value><![CDATA[#{javascript:return doc.getItemValue("price")}]]></xp:this.value>
</xp:selectItems>
</xp:comboBox>
</xp:td>
</xp:tr>
</xp:table>
</xp:view>
<xp:selectItems>
只接受字符串值。
将select商品价值代码中的价格数字转换为字符串,然后
在您的组合框中添加一个数字或货币转换器。
作为替代方案,您可以创建 select 个带有字符串标签和数字值的项目:
<xp:selectItems>
<xp:this.value><![CDATA[#{javascript:
var items = new java.util.ArrayList();
for (value in doc.getItemValue("price")) {
var item = new javax.faces.model.SelectItem();
item.setLabel(value.toString());
item.setValue(value);
items.add(item);
}
return items}]]></xp:this.value>
</xp:selectItems>
我有一个表单,其中包含启用了多值的数字字段。当它具有多个值时,我想在组合框中的 xpage 上显示它。但是我收到错误 500 消息。
当我尝试使用多值文本字段实现相同的目的时,xpage 已呈现。
我做错了什么?
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:this.data>
<xp:dominoDocument var="doc" formName="test"
action="editDocument">
</xp:dominoDocument>
</xp:this.data>
<xp:table>
<xp:tr>
<xp:td>
<xp:label value="Label:" id="lb"
for="label1">
</xp:label>
</xp:td>
<xp:td>
<xp:comboBox id="cbLabel" value="#{doc.label}">
<xp:selectItems>
<xp:this.value><![CDATA[#{javascript:return doc.getItemValue("label")}]]></xp:this.value>
</xp:selectItems>
</xp:comboBox>
</xp:td>
</xp:tr>
<xp:tr>
<xp:td>
<xp:label value="Price:" id="pr"
for="price1">
</xp:label>
</xp:td>
<xp:td>
<xp:comboBox id="cbPrice" value="#{doc.price}">
<xp:selectItems>
<xp:this.value><![CDATA[#{javascript:return doc.getItemValue("price")}]]></xp:this.value>
</xp:selectItems>
</xp:comboBox>
</xp:td>
</xp:tr>
</xp:table>
</xp:view>
<xp:selectItems>
只接受字符串值。
将select商品价值代码中的价格数字转换为字符串,然后
在您的组合框中添加一个数字或货币转换器。
作为替代方案,您可以创建 select 个带有字符串标签和数字值的项目:
<xp:selectItems>
<xp:this.value><![CDATA[#{javascript:
var items = new java.util.ArrayList();
for (value in doc.getItemValue("price")) {
var item = new javax.faces.model.SelectItem();
item.setLabel(value.toString());
item.setValue(value);
items.add(item);
}
return items}]]></xp:this.value>
</xp:selectItems>