我已多次尝试在“搜索”视图中输入日期范围。 我在搜索视图中输入的搜索字符串如下所示。
compositeData.Operasjon = "ST-MOD"
" FIELD OprPlanGruppe_1 = " + compositeData.Operasjon + " AND FIELD OprDato_1 = " +
dates.substring(0, dates.length() - 1);
结果是只使用最后一个键值对(FIELD 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);
是否有可能在过滤器查询中的字段后添加多个值?
Ex:FIELD OprDato1 = 10.02.2014,11.02.2014
答案 0 :(得分:0)
您希望在视图中显示在“OprDato_1”字段中具有当前周内日期的所有文档。您可以使用xp:viewPanel中的“在视图中搜索结果”属性。它使用全文搜索,必须具有full text search的语法。您可以将日期与“&gt; =”和“&lt; =”进行比较。因此,在特定日期范围内查找日期的简便方法是
FIELD OprDato_1 >= 10.02.2014 AND FIELD OprDato_1 <= 16.02.2014
或更短
[OprDato_1] >= 10.02.2014 AND [OprDato_1] <= 16.02.2014
您计算搜索字符串的代码如下所示:
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.DAY_OF_WEEK, cal.getFirstDayOfWeek());
var firstDate = dateFormat.format(cal.getTime());
cal.set(java.util.Calendar.DAY_OF_WEEK, cal.getFirstDayOfWeek() + 6);
var lastDate = dateFormat.format(cal.getTime());
return "FIELD OprPlanGruppe_1 = " + compositeData.Operasjon +
" AND FIELD OprDato_1 >= " + firstDate +
" AND FIELD OprDato_1 <= " + lastDate
此代码计算当前周的日期范围。您可以将cal
设置为任何其他日期和日期范围,然后是该日期的一周。