or
<link rel="stylesheet" href="@Url.Content("~/Content/Kendo/kendo.common.min.css")"><link rel="stylesheet" href="@Url.Content("~/Content/Kendo/kendo.default.min.css")"><link rel="stylesheet" href="@Url.Content("~/Content/Kendo/kendo.common-bootstrap.min.css")"><link rel="stylesheet" href="@Url.Content("~/Content/Kendo/kendo.bootstrap.min.css")"/>
@(Html.Kendo().Grid(Model) .Name("Grid") .Columns(columns => { foreach (System.Data.DataColumn column in Model.Columns) { columns.Bound(column.ColumnName).Hidden(column.ColumnName == "CustID").Title(column.ColumnName.ToString().Replace(" ", "")); } columns.Bound("CustID").Title("").ClientTemplate("<a href='/Customers/Customer/#: CustID #'>More Details</a>"); }) .Pageable() .Sortable() .Filterable() .DataSource(dataSource => dataSource .Ajax() .PageSize(15) .ServerOperation(false) .Model(model => { foreach (System.Data.DataColumn column in Model.Columns) { model.Field(column.ColumnName, column.DataType); } }) .Read(read => read.Action("CustomerDataRead", "Customers", new { _CustomerListID = 18 })) ))function select(e) { var dataItem = this.dataItem(e.item.index()); if (dataItem.CustomerListID == "") {dataItem.CustomerListID = -1} //$('#Grid').data().kendoGrid.destroy(); //$('#Grid').empty(); $("#Grid").data("kendoGrid").dataSource.read({ _CustomerListID: dataItem.CustomerListID});}When I have the data source CRUD set in the Razor version of the Scheduler control AND I define events for Save and Remove the call to the Read and Destroy calls are duplicated.
Is this the correct behavior?
01.<input type="hidden" id="scheduleID" required data-required-msg="Please select a schedule."/>02. 03.@(Html.Kendo().Scheduler<DOTTReportsWebViewer.Models.TaskViewModel>()04. .Name("scheduler")05. .Editable(e=>e06. .Confirmation(false)07. .Update(false)08. .Resize(false)09. )10. .Date(DateTime.Now)11. .StartTime(new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour, 00, 00))12. .Views(views =>13. {14. views.DayView();15. views.WeekView(weekView => weekView.Selected(true));16. views.MonthView();17. views.AgendaView();18. })19. .Timezone("Etc/UTC")20. .DataSource(d => d21. .Model(m => {22. m.Id(f => f.TaskID);23. m.Field(f => f.OwnerID).DefaultValue(1);24. })25. 26. .Read("Tasks_Read", "Subscriptions")27. .Create("Tasks_Create", "Subscriptions")28. .Destroy("Tasks_Destroy", "Subscriptions")29. .Update("Tasks_Update", "Subscriptions")30. 31. )32. .Events(events => events33. .Save("scheduler_save")34. .Remove("scheduler_remove")35. )36. 37. 38.)39. 40. 41.<script type="text/javascript">42. 43. function scheduler_save(e) {44. 45. var scheduler = $("#scheduler").data("kendoScheduler");46. 47. if ($("#scheduleID").val() != '') {48. scheduler.removeEvent($("#scheduleID").val());49. }50. $("#scheduleID").val(e.event.uid);51. }52. 53. function scheduler_remove(e) {54. $("#scheduleID").val('');55. 56. }57. 58.</script>public class MyButtonBuilder : Kendo.Mvc.UI.Fluent.ButtonBuilder{ public bool Visible { get; set; } public override void Render() { if(Visible==false) //Do something to return empty HTML else base.Render(); }}