我正在按日期范围选择视图中的文档。开始日期总是正确的,但结束日期不是。选择从开始日期到最后一个条目。 我的代码是:
var vDateRange = session.createDateRange(sessionScope.selectedStartDate, sessionScope.selectedEndDate);
var projects:NotesView = database.getView('visits_by_date_VB')
var viewNav:NotesViewNavigator = projects.createViewNav();
var viewEntryCollection:NotesViewEntryCollection = projects.getAllEntriesByKey(vDateRange);
var viewEnt:NotesViewEntry = viewEntryCollection.getFirstEntry();
var output:string = "";
while (viewEnt != null) {
output += "<tr>";
output += "<td>" + viewEnt.getColumnValues()[0]; + "</td>";
output += "<td>" + viewEnt.getColumnValues()[3] + "</td>";
output += "<td>" + viewEnt.getColumnValues()[4] + "</td>";
output += "<td>" + viewEnt.getColumnValues()[5] + "</td>";
output += "</tr>";
viewEnt = viewNav.getNext(viewEnt);
}
修改
使用以下代码领取日期:
<xe:djDateTextBox id="StartDate"
defaultValue="#{javascript:sessionScope.selectedStartDate}"
value="#{sessionScope.selectedStartDate}">
<xp:this.converter>
<xp:convertDateTime type="date"
dateStyle="full">
</xp:convertDateTime>
</xp:this.converter>
</xe:djDateTextBox>
<xe:djDateTextBox id="EndDate"
defaultValue="#{javascript:sessionScope.selectedEndDate}"
value="#{sessionScope.selectedEndDate}">
<xp:this.converter>
<xp:convertDateTime type="date"
dateStyle="full">
</xp:convertDateTime>
</xp:this.converter>
</xe:djDateTextBox>
视图的第一列是日期/时间“样式”,按升序排序 存储日期的表单上的字段是日期时间字段。
答案 0 :(得分:2)
更改此一行
viewEnt = viewNav.getNext(viewEnt);
到
viewEnt = viewEntryCollection.getNextEntry(viewEnt);
它会起作用。
您使用完整的视图内容初始化viewNav
。这就是为什么它从viewEntryCollection的正确日期开始,但总是运行以查看结束。您不需要此代码中的viewNav
,并且可以删除此行。