使用XPages中的数据源保存的多米诺骨牌文档进行计算

mik*_*_x_ 1 datasource lotus-domino xpages

我创建了一个包含3个字段的表单和一个包含3个字段的xpage.每个xpage字段使用数据源绑定到表单字段(数据源名称:ds1)

我成功创建并保存了文档.当我单击保存按钮时,我执行

ds1.save()
Run Code Online (Sandbox Code Playgroud)

3个字段数据类型之一是日期/时间,我从xpage传递一个字符串,如:dd/MM/YYYY(15/02/2014)当我在Notes客户端中打开文档并转到文档属性时,我看到该字段作为文本列表数据类型.如果我双击文档并再次保存,那么在文档属性中数据类型将更改为日期/时间,这就是我想要的.某种翻译会在重新保存时运行,也许就像computeWithForm ...

问题是,如何在我的代码中重新保存?

我试过了:

ds1.save();
ds1.getDocument().computeWithForm(false, false);
ds1.getDocument().save();
Run Code Online (Sandbox Code Playgroud)

但它不起作用.有任何想法吗?

Per*_*ten 6

你有两个选择.

  1. 在数据源上设置computeWithForm属性.这是一个例子:

    <xp:dominoDocument var="ds1" formName="example" computeWithForm="onsave"></xp:dominoDocument>
    
    Run Code Online (Sandbox Code Playgroud)
  2. 更改XPage上的日期/时间字段以包含将字段转换为日期字段的转换器(并且可选地包括日期选择器):

    <xp:inputText id="dateField" value="#{ds1.dateField}">
        <xp:this.converter>
            <xp:convertDateTime type="date"></xp:convertDateTime>
        </xp:this.converter>
        <xp:dateTimeHelper id="dateTimeHelper1"></xp:dateTimeHelper>
    </xp:inputText>
    
    Run Code Online (Sandbox Code Playgroud)