or
public class TaskItem : ISchedulerEvent{ [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int TaskItemID { get; set; } [Required] public string Title { get; set; } public string Description { get; set; } [Required] public DateTime Start { get; set; } public string StartTimezone { get; set; } [Required] public DateTime End { get; set; } public string EndTimezone { get; set; } public string RecurrenceRule { get; set; } public int? RecurrenceID { get; set; } public string RecurrenceException { get; set; } public bool IsAllDay { get; set; } public int? OwnerID { get; set; }}schema: { model: { id: "taskID", fields: { taskID: { from: "TaskID", type: "number" }, title: { from: "Title", validation: { required: true } } } }}@(Html.Kendo().Grid<StorageClasses>() .Name("StorageClassesGrid") .ToolBar(toolbar => toolbar.Template("<button id='btnAddSC' class='k-button'><span class='k-icon k-add'></span></button>")) .Columns(columns => { columns.Command(command => { command.Destroy().Text(" ").HtmlAttributes(new { style = "width:14px;min-width:27px" }); }).Width("40px;"); columns.Bound(p => p.Name); columns.Bound(p => p.Remark); }) .Pageable(pager => pager.Refresh(true)) .Sortable() .Scrollable(s => s.Height("auto")) .Filterable() .Resizable(r => r.Columns(true)) .DataSource(dataSource => dataSource .Ajax() .ServerOperation(false) .Model(model => model.Id(m => m.ID)) .Read(read => read.Action("GetStorageClassesByLocation", "Locations", new { LocationID = Model.ID })) .Destroy(destroy => destroy.Action("StorageClass_Delete", "Locations", new { LocationID = Model.ID })) .Events(e => e.Error("onGridError")) ) .Events(e => e.Remove("onGridRowRemove").DataBound("resizeTabs")) )[HttpPost] public ActionResult StorageClass_Delete([DataSourceRequest] DataSourceRequest request, long? LocationID, StorageClasses StorageClass) { Exception exception; if (StorageClass != null && LocationID != null) { try { if (ModelState.IsValid) { // delete entity in database var result = _db.StorageClass_Delete( LocationID.HasValue ? LocationID.Value : 0, StorageClass.ID, ClientName, "WEB", UserName, out exception); if (exception != null) { AddException(exception); } // check database action result if (result != null && result.ErrorID == 0) { // database action successful return Json(new[] { StorageClass }.ToDataSourceResult(request, ModelState)); } else { ModelState.AddModelError("StorageClass_Delete", result.ErrorMessage); return Json(new[] { StorageClass }.ToDataSourceResult(request, ModelState)); } } } catch (Exception ex) { AddException(ex); ModelState.AddModelError("StorageClass_Delete", ex.Message); return Json(new[] { StorageClass }.ToDataSourceResult(request, ModelState)); } } ModelState.AddModelError("StorageClass_Delete", "Parameter Fehler."); return Json(new[] { StorageClass }.ToDataSourceResult(request, ModelState)); }function onGridError(e) { var txt = ""; $.each(e.errors, function (propertyName) { txt = txt +this.errors + " "; }); $("#lblStatus").text(txt); $("#lblStatus").css('color', 'red', 'font-weight ', 'bold'); }@(Html.Kendo().ComboBox()<br> .Name("IDTYPE")<br> //.AutoBind(false)<br> //.Events(e => e<br> // .Change("combobox_select"))<br> .DataTextField("DESCRIPTION").HtmlAttributes(new { style = "width:220px", required = "required" })<br> .DataValueField("REFERENCEID")<br> // .Value(Model.IDTYPEGUID.ToString()) // Initial value<br> // .BindTo(Model.IDTYPE) <br> //.AutoBind(true) <br> .Placeholder("SELECT")<br><br> .DataSource(source =><br> {<br> source.Read(read =><br> {<br><br> read.Action("GetDefinitionDetails", "Definition", new { definitionCode = "IDTYPE", addEmptyRow = false })<br> // .Data("onAdditionalData")<br> ;<br><br> })<br> .ServerFiltering(true);<br><br> }))@(Html.Kendo().TreeView() .Name("MyTreeView") .BindTo(Model, mappings => mappings.For<TreeViewNode>(binding => binding .ItemDataBound((item, node) => { item.Text = node.Name; item.Id = node.Value.ToString(); item.Expanded = ViewData[ViewBag.ExpandedCookie] != null && ((string[])ViewData[ViewBag.ExpandedCookie]).Contains(item.Id); //item.HtmlAttributes["data-selectable"] = node.Selectable; if (node.AddOnly) item.HtmlAttributes["data-addOnly"] = true; else item.HtmlAttributes["data-addOnly"] = false; if (!node.Selectable) { item.HtmlAttributes["style"] = "color: #888"; } else item.HtmlAttributes["style"] = "color: black"; }) .Children(parent => parent.Childs))).HtmlAttributes(new { @class = "k-group" }).Events(e => e .Select("onSelect") .Expand("updateTreeViewState") .Collapse("updateTreeViewState") .DragStart("onNodeDragStart") .DataBound("onTreeDataBound") .Drop("onNodeDrop")).DragAndDrop(true) )function onTreeDataBound(e) { alert("databound");}// select event as an example (this works)
function onSelect(e) { var dataItem = this.dataItem(e.node); $("#ID").val(dataItem.id); if ($(e.item).attr("data-selectable") == "0" || dataItem.id == "0") e.preventDefault(); else // request server for partial view for details and refresh right pane of splitter getSplitter("#outerSplitter").ajaxRequest("#right-pane", "/" + getArea() + "/" + getController() + "/Details", { id: dataItem.id }); // update statusbar to default $("#lblStatus").text("Ready"); $("#lblStatus").css('color', 'black', 'font-weight ', 'normal') //}}.TemplateName("EditPerson"))