我的 kendoDatasource 中有以下 requestStart:
requestStart: function (e) {
var oldFilters = e.sender._filter ? e.sender._filter.filters : [],
endDateTime;
$.each(oldFilters, function (index, currFilter) {
if (currFilter.field === 'StatusChangeDate' && currFilter.operator == 'eq') {
endDateTime = new Date(currFilter.value.getYear(), currFilter.value.getMonth(), currFilter.value.getDay(), 23, 59, 59);
oldFilters.push({ field: currFilter.field, operator: 'gt', value: currFilter.value });
oldFilters.push({ field: currFilter.field, operator: 'lt', value: endDateTime });
oldFilters.splice(index, 1);
}
});
if (e.sender._filter) {
e.sender._filter.filters = oldFilters;
}
},
我想在其运算符为“eq”时更改 DateTime 过滤器,以禁用过滤器精度。但是当我像上面的代码一样修改 requestStart 中的过滤器时,它不起作用。请求使用旧过滤器发送。我不知道我做错了什么。有没有另一种方法来实现这样的行为?