使用多个字段Xpages在视图中搜索结果

使用多个字段Xpages在视图中搜索结果,xpages,xpages-ssjs,Xpages,Xpages Ssjs,我已多次尝试在视图中的搜索中输入日期范围。 我在“搜索视图”中输入的搜索字符串如下所示 compositeData.Operasjon = "ST-MOD" " FIELD OprPlanGruppe_1 = " + compositeData.Operasjon + " AND FIELD OprDato_1 = " + dates.substring(0, dates.length() - 1); 结果是,仅使用最后一个键值对(字段OprDato_1=11.02.2014)进行

我已多次尝试在视图中的搜索中输入日期范围。 我在“搜索视图”中输入的搜索字符串如下所示

compositeData.Operasjon = "ST-MOD"

" FIELD OprPlanGruppe_1 = " + compositeData.Operasjon + " AND FIELD OprDato_1 = " +

    dates.substring(0, dates.length() - 1);
结果是,仅使用最后一个键值对(字段OprDato_1=11.02.2014)进行过滤

孔代号如下:

    var idag:java.util.Date = new java.util.Date();
var cal:java.util.Calendar =java.util.Calendar.getInstance();
var dateFormat:java.text.SimpleDateFormat = new java.text.SimpleDateFormat("dd.MM.yyyy");

cal.set(java.util.Calendar.HOUR_OF_DAY, 0); // ! clear would not reset the hour of day !
cal.clear(java.util.Calendar.MINUTE);
cal.clear(java.util.Calendar.SECOND);
cal.clear(java.util.Calendar.MILLISECOND);

var dates = "";
var i;

for(i = 0; i < 7; i++){
    cal.set(java.util.Calendar.DAY_OF_WEEK, cal.getFirstDayOfWeek() + i);
    dates += dateFormat.format(cal.getTime()) + ",";
}

dates = dates.replace("undefined", "");
return " field OprPlanGruppe_1 = " + compositeData.Operasjon + " AND FIELD OprDato_1 = " + dates.substring(0, dates.length() - 1);
var-idag:java.util.Date=new java.util.Date();
var-cal:java.util.Calendar=java.util.Calendar.getInstance();
var dateFormat:java.text.simpleDataFormat=new java.text.simpleDataFormat(“dd.MM.yyyy”);
cal.set(java.util.Calendar.HOUR\u OF_DAY,0);/!清除将不会重置一天中的时间!
clear(java.util.Calendar.MINUTE);
clear(java.util.Calendar.SECOND);
clear(java.util.Calendar.millis秒);
var dates=“”;
var i;
对于(i=0;i<7;i++){
cal.set(java.util.Calendar.DAY\u OF_WEEK,cal.getFirstDayOfWeek()+i);
dates+=dateFormat.format(cal.getTime())+“,”;
}
日期=日期。替换(“未定义”和“);
返回“字段OprPlanGruppe_1=“+compositeData.Operasjon+”和字段OprDato_1=“+dates.substring(0,dates.length()-1);
是否有可能在筛选器查询中的字段后添加多个值


例如:字段OprDato1=2014年2月10日,2014年2月11日

您希望显示视图中字段“OprDato_1”中包含当前周内日期的所有文档。您可以使用xp:viewPanel的“在视图中搜索结果”属性。它使用全文搜索,并且必须具有的语法。您可以将日期与“>=”和“=”+firstDate+进行比较
“和字段OprDato_1@Frantisek:我不确定您链接的问题是否真的与此相关:这里我们被问及XSP中的FT搜索,这里的问题与NotesDatabase相关。使用公式语法在LotusScript中搜索…;我删除了“lotus notes”“标记以减少混淆问题之一可能是您使用的语法:使用
字段OprDato1=10.02.2014、11.02.2014
搜索将在任何字段中找到
10.02.2014
中的
OprDato1
11.02.2014
的文档。如果只想在该字段中搜索,则需要将该查询括在括号中:
FIELD OprDato1=(10.02.2014,11.02.2014)
。我已尝试将它们括在括号中。我发现的相同结果是字段OprDate_1的类型为String而不是date。如果不将字符串转换为日期,则无法将字符串与日期进行比较。不能直接在ftsearch中执行此操作。用于将文本转换为日期。如果您必须保留OprDate_1中的文本,您可以创建如下搜索字符串:
。。。和([OprDato_1]=“10.02.2014”或[OprDato_1]=“11.02.2014”或…或[OprDato_1]=“16.02.2014”)
。但是,最好将搜索字段转换为日期,因为它将独立于本地设置。在字符串中保存日期和时间总是“危险的”。@user2599699:你能让它运行吗?全文搜索现在起作用了吗?是的。我必须将日期作为DateTime导入。通过session.createDateTime。现在我可以搜索日期比较了。由于某些原因,这仅在xPage中可能。不在Lotus视图中。我猜数据库不知怎么的被破坏了。我很高兴你能为你的XPage进行全文搜索。奇怪的是,Notes客户端中的全文搜索并没有显示相同的结果。。。
FIELD OprDato_1 >= 10.02.2014 AND FIELD OprDato_1 <= 16.02.2014
[OprDato_1] >= 10.02.2014 AND [OprDato_1] <= 16.02.2014