or
function updateGrid() { if ( $("#grid").data("kendoGrid") != undefined ) { $("#grid").empty(); } var lob = $("#lob").data("kendoComboBox").value(); var queryurl = "./grid_projectselections.php?delob=" + escape(lob); var updateurl = "./grid_projectselections.php?delob=" + escape(lob); var element = $("#grid").kendoGrid({ dataSource: { pageSize: 200, type: "json", batch: true , serverSorting: false, transport: { read: { url: queryurl, dataType: "json", cache: false, data: { q: lob } }, update: { url: updateurl, dataType: "json" }, parameterMap: function(options, operation) { if (operation !== "read" && options.models) { return {models: kendo.stringify(options.models)}; } } }, schema: { data: "data", total: "total", model: { fields: { ProjectID: { editable: true }, HR_LEVEL_5: { editable: false }, HR_LEVEL_6: { editable: false }, HR_LEVEL_7: { editable: false }, HR_LEVEL_8: { editable: false }, HR_LEVEL_9: { editable: false }, ExecDescr: { editable: false }, OrgDescr: { editable: false }, GroupDescr: { editable: false }, RegionDescr: { editable: false }, SectionDescr: { editable: false } } } } }, selectable: true, filterable: true, resizable: true, editable: true, groupable: false, pageable: { numeric: true, refresh: true, previousNext: true, input: true, info: true }, columns: [ { field: "ProjectID", editor: ProjectDropDownEditor, values: projectDS }, "HR_LEVEL_5" , "HR_LEVEL_6" , "HR_LEVEL_7" , "HR_LEVEL_8" , "HR_LEVEL_9" , "ExecDescr" , "OrgDescr" , "GroupDescr" , "RegionDescr" , "SectionDescr" ] });}function ProjectDropDownEditor(container, options) { $('<input required data-text-field="ProjectName" data-value-field="ProjectID" data-bind="value:' + options.field + '"/>') .appendTo(container) .kendoDropDownList({ autoBind: false, dataSource: { type: "json", transport: { read: { url: "./grid_projectsdropdown.php"}, } } }); }$("#lob").width(360).kendoComboBox({ placeholder: "Select LOB...", dataTextField: "LineOfBusiness", dataValueField: "LineOfBusiness", width: 360, dataSource: { contentType: "application/json; charset=utf-8", serverFiltering: true, transport: { read: "./ajax/lobs.php" }, schema: { data: "data", total: "total" } }, change: function() { var value = this.value(); if (value) { if (value == '') { return; } updateGrid(); } else { } }});var projectDS = new kendo.data.DataSource({ transport: { read: { url: "./grid_projectsdropdown.php"}, dataType: "json" }, schema: { data: "data", total: "total" }});
[Table("Movies")] public class Movie { [Key] [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] public int MovieId { get; set; } public string Name { get; set; } public List<Actor> Actors { get; set; } }[Table("Actor")] public class Actor { [Key] [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] public int ActorId { get; set; } public string Name { get; set; } [ScriptIgnore] public List<Movie> Movies { get; set; } }@(Html.Kendo().Grid<KendoUi.ViewModels.MovieViewModel>() .Name("Grid") .Columns(columns => { columns.Bound(p => p.MovieId); columns.Bound(p => p.Name); columns.ForeignKey(p => p.Actors, (System.Collections.IEnumerable)ViewBag.Actors, "ActorId", "Name"); columns.Command(command => { command.Edit(); command.Destroy(); }).Width(180); }) .ToolBar(toolbar => toolbar.Create()) .Editable(editable => editable.Mode(GridEditMode.InLine)) .Pageable() .Sortable() .Scrollable() .DataSource(dataSource => dataSource .Ajax() .Events(events => events.Error("error_handler")) .Model(model => { model.Id(p => p.MovieId); model.Field(p => p.MovieId).Editable(false); }) .Create(update => update.Action("EditingInline_Create", "Movie")) .Read(read => read.Action("EditingInline_Read", "Movie")) .Update(update => update.Action("EditingInline_Update", "Movie")) .Destroy(update => update.Action("EditingInline_Destroy", "Movie")) ))public class MovieController : Controller { private readonly KendoContext context; public MovieController() { context = new KendoContext(); } public ActionResult Index() { ViewBag.Actors = context.Actors; return View(); } public ActionResult EditingInline_Read([DataSourceRequest] DataSourceRequest request) { return Json(context.Movies.Include("Actors").ToDataSourceResult(request)); } [AcceptVerbs(HttpVerbs.Post)] public ActionResult EditingInline_Create([DataSourceRequest] DataSourceRequest request, MovieViewModel movie) { if (movie != null && ModelState.IsValid) { var toAdd = new Movie() {Name = movie.Name}; context.Entry(toAdd).State = EntityState.Added; context.SaveChanges(); } return Json(new[] { movie }.ToDataSourceResult(request, ModelState)); } [AcceptVerbs(HttpVerbs.Post)] public ActionResult EditingInline_Update([DataSourceRequest] DataSourceRequest request, MovieViewModel movie) { if (movie != null && ModelState.IsValid) { var target = context.Movies.Single(x => x.MovieId == movie.MovieId); if (target != null) { target.Name = movie.Name; context.Entry(target).State = EntityState.Modified; context.SaveChanges(); } } return Json(ModelState.ToDataSourceResult()); } [AcceptVerbs(HttpVerbs.Post)] public ActionResult EditingInline_Destroy([DataSourceRequest] DataSourceRequest request, MovieViewModel movie) { if (movie != null) { var target = context.Movies.Single(x => x.MovieId == movie.MovieId); context.Entry(target).State = EntityState.Deleted; context.SaveChanges(); } return Json(ModelState.ToDataSourceResult()); } }public class MovieViewModel { public int MovieId { get; set; } public string Name { get; set; } public List<Actor> Actors { get; set; } }$('#listView_C').kendoListView({ selectable: true, template: kendo.template($("#template").html()), change: viewModel.onChange, mousedown: viewModel.onMouseDown, dataSource: { data: viewModel.listSource, pageSize: 10 }});<div id="listView_D" data-role="listview" data-selectable="true" data-bind="source: listSource, events: { change: onChange, mousedown: onMouseDown }" data-template="template"></div><script type="text/x-kendo-tmpl" id="template"> <div class="customers"> <dl> <dt>First Name</dt> <dd>#=FirstName#</span></dd> <dt>Last Name</dt> <dd><span data-bind="text: LastName" ></span></dd> </dl> </div></script><!-- editTemplate works --><dd> <input type="text" data-bind="value:ProductName" name="ProductName" required="required" validationMessage="required" /> <span data-for="ProductName" class="k-invalid-msg"/></dd><!-- template - works --><dd>${ProductName}</dd><!-- template - change to data-bind does not work --><input type="text" data-bind="value:ProductName" name="ProductName" />function changeDayHeaders() { $("#calendar table thead tr:eq(0) th").each(function (i, elem) { var $elem = $(elem); $elem.text($elem.attr('title')); });}<input type="checkbox" checked="checked" disabled="disabled" />