Ich versuche gerade, eine Kendo DataSource mit einer Kendo DropDownList zu filtern und es funktioniert nicht so, wie ich es erwartet hatte.Filter Kendo DataSource nach Datumsbereich
Ich habe eine Kendo DropDownList, die einige Optionen enthält, mit denen der Benutzer die DataSource nach 1, 3, 6, 9 oder 12 Monaten filtern kann. Ich verwende auch moment.js
, um das Hinzufügen von Monaten zum aktuellen Datum zu verarbeiten.
Hier ist meine Dropdown onChange
Veranstaltung:
onMonthRangeChange: function (e) {
var value = e.sender.value();
switch (value) {
case "1":
var oneMonth = moment().add(1, "month");
var firstOfMonth = moment().startOf("month");
viewModel.myTaskDataSource.query({
logic: "and",
filters: [
{ field: "DueDate", operator: "gte", value: firstOfMonth },
{ field: "DueDate", operator: "lte", value: oneMonth }
});
break;
case "3":
// similar to above code except for 3 months
case "6":
// similar to above code except for 6 months
case "9":
// similar to above code except for 9 months
case "12":
// similar to above code except for 12 month
}
})
Obwohl ich dachte, dies funktionieren würde, es funktioniert nicht. Stattdessen zeigt es nur alles in der DataSource. Ich habe sogar versucht viewModel.myTaskDataSource.query
-viewModel.myTaskDataSource.filter
ändern, aber dann bekomme ich nur die folgende Fehlermeldung:
Uncaught TypeError: e.indexOf is not a function - kendo.all.js:1129
Ich vermuten auch, dass vielleicht war es, weil Kendo und moment.js wurden verschiedene Zeitformate aber auch nach all den Kendo Daten Parsen Zu momentanen Daten bekomme ich die gleichen Fehler.