Kendo UI MVC Scheduler - 过滤多个资源

时间:2015-01-30 21:20:15

标签: jquery asp.net-mvc kendo-ui kendo-asp.net-mvc kendo-scheduler

我正在尝试使用2个资源过滤数据源调度程序(MVC):一个用于房间,一个用于参加者。我只是想通过roomId(等于1)进行过滤但是它不起作用:我创建了一个过滤器按钮,我使用了jquery click事件来激活过滤器。

我创建了以下调度程序:

<button id="filter" class="k-button">Show only Room Id 1</button>

@(Html.Kendo().Scheduler<MeetingViewModel>()
    .Name("scheduler")
    .Date(new DateTime(2013, 6, 13))
    .StartTime(new DateTime(2013, 6, 13, 7, 00, 00))
    .Height(600)
    .Views(views =>
    {
        views.DayView();
        views.WorkWeekView(workWeekView => workWeekView.Selected(true));
        views.WeekView();
        views.MonthView();
        views.AgendaView();
    })
    .Timezone("Etc/UTC")
    .Group(group=>group.Resources("Rooms"))
    .Editable(e => e.TemplateName("SchedulerEditor"))
    .Resources(resource =>
    {
        resource.Add(m => m.RoomId)
            .Title("Rooms")
            .Name("Rooms")
            .DataTextField("Text")
            .DataValueField("Value")
            .DataColorField("Color")
            .DataSource(source => source.Read(read => read.Action("GetRoomsList", "Home")));

        resource.Add(m => m.Attendees)
            .Title("Attendees")
            .Name("Attendees")
            .Multiple(true)
            .DataTextField("Text")
            .DataValueField("Value")
            .DataColorField("Color")
            .DataSource(source => source.Read(read => read.Action("GetUsersList", "Home")));
    })
    .DataSource(d => d
        .Model(m =>
        {
            m.Id(f => f.MeetingId);
            m.Field(f => f.Title).DefaultValue("No title");
            m.Field(f => f.Start);
            m.Field(f => f.End);
            m.Field(f => f.Description);
            m.Field(f => f.StartTimezone);
            m.Field(f => f.EndTimezone);

        })
        .Read("MeetingsRead", "Home")
        .Create("MeetingsCreate", "Home")
        .Destroy("MeetingsDestroy", "Home")
        .Update("MeetingsUpdate", "Home")
       )

)

<script>

 $("#filter").click(function () {
        var scheduler = $("#scheduler").data("kendoScheduler");

        scheduler.resources[0].dataSource.filter({ field: "Value", operation: "eq", value: "1" });

        scheduler.view(scheduler.view().name);
    });

</script>

似乎无法弄清楚为什么调度程序不按房间过滤(调度程序上没有任何更改)。

我很感激一些帮助。感谢。

1 个答案:

答案 0 :(得分:0)

解决了问题,分组不正确:

.Group(group=>group.Resources("Attendees"))