查看日期范围,结束日期不正确
view daterange , end date not correct
我正在按日期范围在视图中选择文档。开始日期始终正确,但结束日期不正确。选择从开始日期到最后一个条目。
我的代码是:
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>
视图的第一列是按 "style" 升序排序的日期/时间
表单上存储日期的字段是日期时间字段。
改这一行
viewEnt = viewNav.getNext(viewEnt);
到
viewEnt = viewEntryCollection.getNextEntry(viewEnt);
它会起作用。
您使用完整的视图内容初始化 viewNav
。这就是为什么它以 viewEntryCollection 的正确日期开始但始终运行到视图结束的原因。您不需要此代码中的 viewNav
,可以删除此行。
我正在按日期范围在视图中选择文档。开始日期始终正确,但结束日期不正确。选择从开始日期到最后一个条目。 我的代码是:
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>
视图的第一列是按 "style" 升序排序的日期/时间 表单上存储日期的字段是日期时间字段。
改这一行
viewEnt = viewNav.getNext(viewEnt);
到
viewEnt = viewEntryCollection.getNextEntry(viewEnt);
它会起作用。
您使用完整的视图内容初始化 viewNav
。这就是为什么它以 viewEntryCollection 的正确日期开始但始终运行到视图结束的原因。您不需要此代码中的 viewNav
,可以删除此行。