Как отфильтровать источник данных планировщика Telerik MVC - PullRequest
0 голосов
/ 04 марта 2020

Я пытаюсь отфильтровать планировщик Telerik, не группируя их. Итак, у меня есть этот планировщик, и я хочу, чтобы пользователь сам выбрал, какое событие он хочет видеть в планировщике (например, если у него более одного события с одинаковым именем). Поэтому для выбора я создал кендо MultiSelect (см. Рисунок 2)

Picture_1

Теперь, если пользователь выберет опцию "карам", планировщик должен выглядеть следующим образом.

Picture_2

Результат второго изображения (отфильтрованного), сделанного вручную, а не динамически.

и вот как Я сделал это ( вручную ) ... ЭТО МОЙ ПЛАН ТЛЕРИКА

 @(Html.Kendo().Scheduler<WebCalendar_09K.Models.KommunikationViewModel>()
                           .Name("scheduler")
                           .Date(new DateTime(2020, 02, 19))
                           .Selectable(true)
                           .Editable(m =>
                           {
                               m.EditRecurringMode(SchedulerEditRecurringMode.Occurrence);
                           })
                           .Group(group => { group.Resources("ID_RAUM").Orientation(SchedulerGroupOrientation.Horizontal); group.Date(true); })
                           .Resources(resources =>
                           {
                               resources.Add(r => r.id_raum)
                                        .Name("ID_RAUM")
                                        .Title("Room")
                                        .DataTextField("Text")
                                        .DataValueField("Value")
                                        .DataColorField("Color")
                                        .BindTo(new[]
                                        {
                                            new {Text = "Room101", Value = 1, Color = "#6eb3fa"},
                                            new {Text = "Room102", Value = 2, Color = "red"}
                                        });
                               resources.Add(t => t.Typ)
                                        .Name("TYP")
                                        .Title("Type")
                                        .ValuePrimitive(true)
                                        .DataTextField("Text")
                                        .DataValueField("Value")
                                        .DataColorField("Color")
                                        .BindTo(new[]
                                        {
                                            new {Text = "Termin", Value = 3, Color ="black"},
                                            new {Text = "Event", Value = 4, Color ="green"}
                                        });
                           })
                           .Events(e =>
                           {
                               e.Navigate("Navigate_Scheduler");
                               e.Add("Create_Scheduler");

                           })
                           .Views(views =>
                           {
                               views.DayView();
                               views.WeekView(weekView => weekView.Selected(true));
                               views.MonthView();
                               views.AgendaView();
                               views.TimelineView();
                           })
                           .DataSource(d => d
                           .Model(m =>
                           {
                               m.Id(f => f.ID);
                               m.Field(f => f.Title).DefaultValue("No title");
                           })
                           .Filter(filters => { filters.Add(model => model.Title).IsEqualTo("karam"); })
                           .Read(read => read.Action("Cal_Read", "Home"))
                           .Create("Cal_Create", "Home")
                           .Update("Cal_Update", "Home")
                           .Destroy("Cal_Destroy", "Home")
                           )
                )

Вопрос: Как сделать это динамически в onChange () JS Функция

...