我使用以下内容作为 xpage 重复控件的数据源:
var extDB = session.getDatabase("","Position.nsf");
var emailNVCollection:NotesViewEntryCollection = extDB.getView("PrincipalEmails").getAllEntries();
return emailNVCollection
我知道语法是正确的,因为答案是:Making a viewEntryCollection an objectDataSource
我不知道如何显示计算字段中的值。我尝试过使用表达式语言进行简单绑定(bind):rowHandle.fieldname。以及我通过多次搜索找到的几种不同的 javascript 方法,例如 rowHandle.getColumnValue。它们都会返回各种错误。对于 javascript,我认为我尝试过的方法对于 NotesViewEntryCollections 无效。表达式语言方法返回:从 Lotus.domino.local.ViewEntry 类型的 bean 获取属性“fieldname”时出错。
这是实际来源:
<xp:panel style="margin-left:10.0px;margin-top:10.0px">
<xp:repeat id="repeat1" rows="30" var="rowHandle">
<xp:this.value><![CDATA[#{javascript:var extDB = session.getDatabase("","Position.nsf");
var emailNVCollection:NotesViewEntryCollection = extDB.getView("PrincipalEmails").getAllEntries();
return emailNVCollection}]]></xp:this.value>
<xp:text escape="true" id="computedField1"
value="#{rowHandle.posd_email}">
</xp:text>
</xp:repeat></xp:panel></:view>
我认为这应该很简单。照常。 ---丽莎&
最佳答案
您有一个 NotesViewEntryCollection
作为重复的值。
每个rowHandle
都是类NotesViewEntry的一个实例.
您可以使用 getDocument() 访问文档的项目.
rowHandle.getDocument().getItemValueString("yourItemName")
你的例子是
<xp:text escape="true" id="computedField1"
value="#{javascript: rowHandle.getDocument().getItemValueString('posd_email')>
</xp:text>
如果您使用view's column values,您会获得更好的性能就像本例中的第一列一样:
rowHandle.getColumnValues().firstElement().toString()
关于javascript - 使用 NotesViewEntryCollection 作为重复控件的数据源 - 需要一种方法来显示标签或计算字段中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47839885/