@(Html.Kendo().Scheduler<iMail.Web.Models.TaskViewModel>() .Name("scheduler") .Date(DateTime.Now) .Timezone("Etc/UTC") .Views(views => { views.DayView(); views.WeekView(); views.MonthView(); views.AgendaView(agenda => agenda.Selected(true)); }) .Selectable(true) .Timezone("Etc/UTC") .Events(e => { e.Edit("onEdit"); e.Change("onChange"); }) .Editable(editable => { editable.TemplateName("_EditorTemplatePartial"); }) .DataSource(d => d .Model(m => { m.Id(f => f.TaskID); m.Field(f => f.Title).DefaultValue("No title"); m.RecurrenceId(f => f.RecurrenceID); m.Field(f => f.Priority); m.Field(f => f.TypeID); }) .Events(e => e.Error("error_handler")) .Read (read => read.Action("TasksRead", "Calendar").Data("additionalInfo").Type(HttpVerbs.Get)) .Create(create => create.Action("TasksCreate", "Calendar").Data("additionalInfo")) .Destroy(destroy => destroy.Action("TasksDestroy", "Calendar").Data("additionalInfo")) .Update(update => update.Action("TasksUpdate", "Calendar").Data("additionalInfo")) ) )<div id="AttendeeAlreadyInvited"> <div data-container-for="AlreadyInvitedID" class="k-edit-field"> @(Html.Kendo().MultiSelectFor(model => model.AlreadyInvitedID) .HtmlAttributes(new { data_bind = "value:AlreadyInvitedID" }) .DataTextField("Name") .DataValueField("ID") .BindTo(Model.Invited) ) </div></div>public class CalEmployeeLight{ public int ID; public string Name;public class TaskViewModel : Kendo.Mvc.UI.ISchedulerEvent
{
public int TaskID { get; set; } //each event have an ID.
.....
public IEnumerable<int> AlreadyInvitedID { get; set; } public ICollection<CalEmployeeLight> Invited { get; set; }
}So I'm pretty new to using this component, so I'm not very familiar with it yet.
Here's what I'm trying to do:
I have a scheduler that I'm pre-populating with a lot of tasks. I don't want the user to be able to add, delete, or update anything. However, on selecting or clicking (or double clicking, whatever works best) I want to be able to update some other value in the model that was passed into the view.
For example: When user clicks on a task at 12:00 PM I don't want to show any pop ups or anything, but I want to set Model.appontmentTime equal to the tasks start time (i.e. 12:00 PM).
Also, as a side issue, for some reason when I attach a task to an owner as listed in the resources, the task is not showing in the right color. Am I doing something wrong there?
So Far I have:
01.@(Html.Kendo().Scheduler<Humana.RetailSales.CGX.Site.TaskViewModel>()02. .Name("timeSlots")03. .Views(views => { views.WeekView(); })04. .Height(300)05. .Date(Model.appointmentCalendarRenderStartDate)06. .Height(400)07. .AllDaySlot(false)08. .MajorTick((int)Model.timeSlotInterval.TotalMinutes)09. .MinorTickCount(1)10. .Min(Model.appointmentCalendarRenderStartDate)11. .Max(Model.appointmentCalendarRenderFinishDate)12. .Resources(resource =>13. {14. resource.Add(m=> m.OwnerID)15. .Title("Owner")16. .DataTextField("Text")17. .DataValueField("Value")18. .DataColorField("Color")19. .BindTo(new[] {20. new { Text = "Many", Value = 1, color = "#003300"},21. new { Text = "Few", Value = 2, color = "#CC3300"}22. });23. })24. .DataSource(d => d25. .Model(m => {26. m.Id(f => f.TaskID);27. m.Field(f => f.Title).DefaultValue("No title");28. m.Field(f => f.OwnerID).DefaultValue(1);29. m.Field(f => f.Title).DefaultValue("No title");30. m.RecurrenceId(f => f.RecurrenceID);31. })32.33. )var chart = $("#SalesChart").data("kendoChart");chart.refresh({ data: { "FromDate": $("#FromDate").data("kendoDatePicker").value(), "ToDate": $("#ToDate").data("kendoDatePicker").value() }});@code Dim SalesChart As Kendo.Mvc.UI.Chart(Of BO.Models.Statistics.SalesTimeSpan) = _ Html.Kendo.Chart(Of BO.Models.Statistics.SalesTimeSpan). Name("SalesChart").Title("Units sold").Series(Sub(series) series.Line(Function(model) model.Value, categoryExpression:=Function(model) model.Period). Aggregate(ChartSeriesAggregate.Avg) End Sub). CategoryAxis(Function(axis) axis.Date().BaseUnit(ChartAxisBaseUnit.Weeks)). DataSource(Function(ds) ds.Read(Function(read) read.Action("getsalesbydate", "statistics", New With {.area = String.Empty}))) SalesChart.Render() End Code01.var initialMitarbeiterId =5; 02.var filterKategorieArray = new Array();03. 04.function SchedulerAdditionalData() {05. return { mitarbeiterId: initialMitarbeiterId, filterKategorien: filterKategorieArray.toString() };06.}07. 08.function SchedulerReadData() {09. var scheduler = $("#ErfassungScheduler").data("kendoScheduler");10. scheduler.dataSource.read();11.}01.@(Html.Kendo().Scheduler<Sachverhalt>()02. .Name("ErfassungScheduler")03. .Date(DateTime.Now)04. .Views(views =>05. {06. views.DayView(oDayView => oDayView.DateHeaderTemplate("#=kendo.toString(date, 'ddd dd. MM.')#").Selected(false));07. views.WeekView(oWeekView => oWeekView.DateHeaderTemplate("#=kendo.toString(date, 'ddd dd. MM.')#").Selected(false));08. views.MonthView(oMonthView => oMonthView.Selected(true));09. views.AgendaView(oAgendaView => oAgendaView.Selected(false));10. 11. })12. .Selectable(true)13. .Timezone(timezoneString)14. .DataSource(oDs => oDs.Model(m =>15. {16. m.Id(f => f.Id);17. m.Field(f => f.IsAllDay);18. m.Field(f => f.Title).DefaultValue("Neuer Termin");19. m.Field(f => f.SachverhaltKategorieId);20. m.Field(f => f.SachverhaltTypId);21. })22. .Read( r => r.Action("SchedulerRead", "Erfassung").Data("SchedulerAdditionalData"))23. .Destroy("SchedulerDestroy", "Erfassung")24. )25. .Events(e => e.Edit("scheduler_edit").Add("scheduler_add").Navigate("scheduler_navigate"))26. .Resources(resource =>27. resource.Add(m => m.SachverhaltKategorieId)28. .Title("Kategorie")29. .DataTextField("Text")30. .DataValueField("Value")31. .DataColorField("Color")32. .BindTo(colorResourceList)33. )34. .ShowWorkHours(true)35. )1.[HttpPost]2.public JsonResult SchedulerRead([DataSourceRequest] DataSourceRequest oRequest, long mitarbeiterId, string filterKategorien)3.{4. var selectedMitarbeiterId = mitarbeiterId;5. return Json(this.sachverhaltBL.LoadSachverhalte(selectedMitarbeiterId, filterKategorien).ToDataSourceResult(oRequest));6.}Uncaught TypeError: undefined is not a function kendo.all.min.js:9O kendo.all.min.js:9D kendo.all.min.js:9e.extend.kendoFocusable kendo.all.min.js:10Sizzle.selectors.filter.PSEUDO jquery-1.7.1.js:4605Sizzle.filter jquery-1.7.1.js:4127Sizzle jquery-1.7.1.js:3955Sizzle jquery-1.7.1.js:5083jQuery.fn.extend.find jquery-1.7.1.js:5339u.extend.refresh kendo.all.min.js:20u.extend.init kendo.all.min.js:20(anonymous function) kendo.all.min.js:10jQuery.extend.each jquery-1.7.1.js:658jQuery.fn.jQuery.each jquery-1.7.1.js:271e.fn.(anonymous function) kendo.all.min.js:10j.extend.editCell kendo.all.min.js:22(anonymous function) kendo.all.min.js:22jQuery.event.dispatch jquery-1.7.1.js:3256elemData.handle.eventHandle jquery-1.7.1.js:2875@(Html.Kendo().Grid<Kendo2.Models.Product>() .Name("grid") .Columns(c => { c.Bound(b => b.Id).Hidden(); c.Bound(b => b.Name); c.Bound(b => b.Company); } ) .Editable(e => e.Mode(GridEditMode.InCell)) .Sortable() .Pageable(p => p .Refresh(true) .PageSizes(new int[] {2, 10}) .ButtonCount(5) ) .DataSource(dataSource => dataSource .Ajax() .Model(model => model.Id(m => m.Id)) .Read(read => read.Action("List", "Home")) ))