2015-04-23 70 views
0

我有3個多值字段,並且我已經在其中插入了值。所有的字段都是文本類型,可食用。我想要做的是我想在xpages中添加功能,以便我可以向這些字段添加新值。 這裏就是我有這麼遠:將值添加到多值字段並顯示它們

上保存按鈕觸發代碼:

var statuss = document1.getItemValue("statuss"); 
var stat_vec:java.util.Vector = document1.getItemValue("statuss_update"); 
stat_vec.add(statuss); 
document1.replaceItemValue("statuss_update", stat_vec); 

var vards = session.getEffectiveUserName(); 
var vards_vec:java.util.Vector = document1.getItemValue("name_update"); 
vards_vec.add(vards); 
document1.replaceItemValue("name_update", vards_vec); 

var laiks = session.createDateTime("Today"); 
var laiks_vec:java.util.Vector = document1.getItemValue("time_update"); 
laiks_vec.add(laiks); 
document1.replaceItemValue("time_update", laiks_vec); 

document1.save(); 

,我atteched到computedField,其中值從3個多值字段中顯示的代碼+它刷新當我插入新的價值觀:

var x = document1.getItemValue("statuss_update"); 
    var y = document1.getItemValue("name_update"); 
    var z = document1.getItemValue("time_update"); 


    var html = "<head><link rel=\"stylesheet\" type = \"text/css\" href=\"test.css\"></head><table id=\"tabula\">"; 

    for (i = 0 ; i < x.size()-1; i++){ 
     html= html + "<tr><td>" + x[i] + "</td><td>" + y[i] + "</td><td>" +z[i] + "</td></tr>"; 
     } 
    html = html + "</table>"; 

我可以插入值,並且它們會顯示在HTML表格,但問題是保存編輯。每當我嘗試保存文件(我有一個保存按鈕具有保存連接到它的文檔事件),我得到的錯誤:

Could not save the document 1B06 NotesException: Unknown or unsupported object type in Vector

據我瞭解,我想在一個領域,在那裏savesomething值類型不受支持。任何人都可以給我一個提示,我在做什麼錯誤或在哪裏尋找問題?在相當長的一段時間裏一直堅持這一點。

回答

2

這是嗎?

var statuss = document1.getItemValue("statuss"); 
var stat_vec:java.util.Vector = document1.getItemValue("statuss_update"); 
stat_vec.add(statuss); 

它看起來像你得到statuss項目的值(可能是一個Vector ??),並將其添加到Vector的statuss_update。如果它絕對只是一個值,getItemValueString()會更好。

我不確定如果這是正確的,但你提到所有字段都是文本類型,但它看起來像你傳遞一個DateTime到第三個。

爲了確保它們包含您期望的內容,可能需要分析矢量在保存之前的內容。

+0

你好保羅 我更換了.getItemValue與.getItemValueString 關於日期 - 我到代碼,這使我有日期的字符串創建一個lib和使用「導入* LIBNAME *」。 另外 - 是否有某種類型的debbuger,我可以用它來查看每個向量包含什麼? – MarisP

+0

剛解決問題,謝謝。這是因爲日期,我沒有意識到我沒有得到一個字符串值,這導致了錯誤。但我仍然想知道是否有方法來調試代碼? – MarisP

+0

像這樣的方法只會在save()方法上拋出錯誤,而不是replaceItemValue()。即使使用Reader訪問,您也可以儘可能多地調用replaceItemValue(),並且在調用save()之前它不會拋出錯誤 - 並且開發人員已將其用於自己的好處。作爲OpenNTF Domino API團隊的一部分,我們已經討論了進行這些檢查的好處/影響,但尚未同意對核心Domino API如何執行操作進行更改。 –

相關問題