I am having trouble using a taghelper and setting the Schedulers Resource to a datasource rather than using bind-to:
<kendo-scheduler name="scheduler" height="600" date=DateTime.Today major-tick="60" timezone="Etc/UTC">
<views>
<view type="day"></view>
<view type="workWeek" ></view>
<view type="week"></view>
<view type="month"></view>
<view type="year"></view>
<view type="agenda"></view>
<view type="timeline" selected="true">
</view>
</views>
<resources>
<resource title="Resource" name="Resource" datacolorfield="" datatextfield="Name" datavaluefield="ResourceID" field="ResourceID">
<datasource type="@DataSourceTagHelperType.Ajax">
<transport>
<read url="/Booking/Index?handler=ReadResources" />
</transport>
</datasource>
</resource>
</resources>
<scheduler-datasource type="@DataSourceTagHelperType.Ajax">
<transport>
<read url="/Booking/Index?handler=Read" />
</transport>
<schema data="Data" total="Total" errors="Errors">
<scheduler-model id="EventID">
<fields>
<field name="EventID" type="number"></field>
<field name="title" from="Title" type="string"></field>
<field name="start" from="Start" type="date"></field>
<field name="end" from="End" type="date"></field>
<field name="description" from="Description" type="string"></field>
<field name="recurrenceId" from="RecurrenceID" type="number" default-value=null></field>
<field name="recurrenceRule" from="RecurrenceRule" type="string"></field>
<field name="recurrenceException" from="RecurrenceException" type="string"></field>
<field name="ResourceID" type="number" default-value="1"></field>
<field name="startTimezone" from="StartTimezone" type="string"></field>
<field name="endTimezone" from="EndTimezone" type="string"></field>
<field name="isAllDay" from="IsAllDay" type="boolean"></field>
</fields>
</scheduler-model>
</schema>
</scheduler-datasource>
</kendo-scheduler>
Here is my HTMLHelper code which works well:
@(Html.Kendo().Scheduler<Models.Event>()
.Name("scheduler1")
.Date(DateTime.Today)
//.StartTime(new DateTime(2013, 6, 13, 7, 00, 00))
.MajorTick(60)
.Views(views =>
{
views.TimelineMonthView(timeline =>
{
timeline.StartTime(new DateTime(2013, 6, 13, 00, 00, 00));
timeline.EndTime(new DateTime(2013, 6, 13, 00, 00, 00));
timeline.MajorTick(1440);
timeline.EventHeight(50);
});
views.TimelineView(timeline => timeline.EventHeight(50));
views.TimelineWeekView(timeline => timeline.EventHeight(50));
views.TimelineWorkWeekView(timeline => timeline.EventHeight(50));
})
//.Timezone("Etc/UTC")
.Group(group => group.Resources("Resource").Orientation(SchedulerGroupOrientation.Vertical))
.Resources(resource =>
{
resource.Add(m => m.ResourceID)
.Title("Resource")
.Name("Resource")
.DataSource(d => d.Read(r => r.Url(Url.Page("./Index", "ReadResources")).Type(HttpVerbs.Post)))
.DataTextField("Name")
.DataValueField("ResourceID")
.DataColorField("");
})
.DataSource(d => d
.Model(m =>
{
m.Id(f => f.EventID);
m.Field(f => f.Title).DefaultValue("No title");
m.RecurrenceId(f => f.RecurrenceID);
})
.Read(r => r.Url(Url.Page("./Index", "Read")).Type(HttpVerbs.Post))
.Create(r => r.Url(Url.Page("./Index", "Create")).Type(HttpVerbs.Post))
.Update(r => r.Url(Url.Page("./Index", "Update")).Type(HttpVerbs.Post))
.Destroy(r => r.Url(Url.Page("./Index", "Destroy")).Type(HttpVerbs.Post))
)
)