Hello!
I have a problem with filters in my scheduler: as shown in your base example,
I use a first filter applied on a member field called LabelTypeID (the same as OnwerID in your example).
My Model has a second (int ?) member called LabelID
In some case I have to filter only the LabelID (to select a single label, associated to the Calendar Event)
So, in my template I added a second resource for the LabelID, where the binding returns all possible labels:
.Resources(resource => { resource.Add(m => m.LabelTypeID) .DataTextField("Text") .DataValueField("Value") .DataColorField("Color") .BindTo((new ACSDoorSignage.BIZ.LabelTypeBiz()).GetAllLabelTypesAsRazorArray(false)); resource.Add(m => m.LabelID) .DataTextField("Text") .DataValueField("Value") .BindTo((new ACSDoorSignage.BIZ.LabelBiz()).GetLabelsAsRazorArray(false)); })This is the filter that I try to use, where labelValue is one of the value returned in the binding (eg 1)
if (labelValue != -1) { var filter = { logic: "or", filters: new Array() }; filter.filters.push( { operator: "eq", field: "LabelID", value: labelValue }); } var scheduler = $("#scheduler").data("kendoScheduler"); scheduler.dataSource.filter(filter);
The filter Always fails and I see on the browser:
Uncaught TypeError: (d.LabelID || "").toLowerCase is not a function
Can you help me to unserstand what happened?
If I'd like to apply a filter, MUST I Always define a resource for that filter?