2015-04-23 43 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如何执行操作进行更改。 –

相关问题