2016-04-29 42 views
1

我有一個包含多值啓用數字字段的窗體。我想在具有多個值的組合框的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> 
+0

檢查你的日誌文件中的IBM_TECHNICAL_SUPPORT文件夾以查看詳細的錯誤信息。如果您尚未使用XPages日誌文件讀取器,請使用:-) –

回答

1

<xp:selectItems>只接受字符串值。

將selectItems的價值代碼中的價格轉換爲字符串,然後
將數字或貨幣轉換器添加到您的組合框中。

作爲替代方案,您可以創建選擇項目用字符串標籤和數值:

<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> 
+0

謝謝Knut。這很好。但是,當我嘗試將選擇的選項保存迴文檔時,它不起作用。當我添加一個xp:消息控件時,我收到消息;驗證錯誤:值無效。保存文檔時應如何反轉? – Malin

相關問題