我正在使用编辑框控件来显示日期字段。保存 XPage 时,我只想保存日期(现在日期和时间都被保存)。有什么办法可以做到这一点吗?
这是我的代码:
<xp:inputText id="dateReparatur" value="#{document1.dateReparatur}">
<xp:this.converter>
<xp:convertDateTime type="date" dateStyle="long">
</xp:convertDateTime>
</xp:this.converter>
<xp:dateTimeHelper></xp:dateTimeHelper>
</xp:inputText></xp:td>
更新:我现在已经实现了以下代码:
var dt = currentDocument.getItemValueDateTime("dateReparatur");
var dateonly = dt.getDateOnly();
currentDocument.replaceItemValue("dateReparatur",dateonly);
这仅提供了日期,但是在 Notes 中,字段类型现在是文本而不是日期/时间,这正是我所希望的。
这段代码对我有用:
<xp:this.postSaveDocument><![CDATA[#{javascript:
var dt:DateTime = document1.getItemValueDateTime("dateReparatur");
dt.setAnyTime();
currentDocument.getDocument(true).replaceItemValue("dateReparatur", dt);
currentDocument.getDocument(true).save()
}]]></xp:this.postSaveDocument>
它确实工作于postSaveDocument
仅事件。如果您将相同的代码放入querySaveDocument
事件(当然没有文档 save() 行)日期字段在保存过程中会随着事件发生后的时间而受到污染。
An 选择是执行computeWithForm
at querySaveDocument
event:
<xp:this.querySaveDocument><![CDATA[#{javascript:
document1.getDocument(true).computeWithForm(true, true)
}]]></xp:this.querySaveDocument>
你必须添加一个Input Translation
表单中的日期字段公式:
@Date(@ThisValue)
computeWithForm
虽然性能较差,有时会对字段值产生副作用,但可能是一个很好的解决方案,特别是如果您有很多此类仅日期字段。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)