我正在尝试使用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>
似乎无法弄清楚为什么调度程序不按房间过滤(调度程序上没有任何更改)。
我很感激一些帮助。感谢。
答案 0 :(得分:0)
解决了问题,分组不正确:
.Group(group=>group.Resources("Attendees"))