I've got a grid with InCell editing and I have only the Add and Save buttons in the header. The grid is in an iframe. The trouble I am having is when I click the batch save button the controller action in the Datasource is not getting called.
<div>    @(Html.Kendo().Window()            .Name("timecard")            .Modal(true)            .Actions(actions => actions.Close())            .Draggable(false)            .LoadContentFrom("Timecard")            .Events(events => events                .Close("timecard_OnClose")                .Refresh("timecard_OnIframeLoaded")            )            .Iframe(true)            .Width(1700)            .Height(800)            .Visible(false)            .Deferred(true)    )</div>function timecard_OnIframeLoaded(e){    $.ajax({        url: '@Url.Action("Timecard_Load", "Timecard")',        type: "POST",        datatype: "json",        data: { id: employee_key, weekEnding: week_ending},        success: timecard_LoadTimecardSuccess    });}
<div id="employeeTimecard">    @(Html.Kendo().Grid<Timecard.Models.TimecardViewModel>()                            .Name("timecard")                            .ToolBar(toolbar =>                            {                                toolbar.Create().Text("ADD").HtmlAttributes(new { title = "Add employee" });                                toolbar.Save().Text("SAVE");                            })                            .Editable(editable => editable.Mode(GridEditMode.InCell))                            .Columns(columns =>                            {                                columns.Bound(p => p.Job).Filterable(false).Sortable(false).Width(115).EditorTemplateName("_InCellAutoCompleteEditor").Title("Job");                                columns.Bound(p => p.Task).Filterable(false).Sortable(false).Width(50);                                columns.Bound(p => p.TaskName).Filterable(false).Sortable(false).Width(150);                                columns.Bound(p => p.SubTask).Filterable(false).Sortable(false).Width(75);                                columns.Bound(p => p.SubTaskCompDate).Filterable(false).Sortable(false).Width(75);                                columns.Bound(p => p.TravelPay).Filterable(false).Sortable(false).Width(75).Title("Travel Pay (Total)");                                columns.Bound(p => p.SpecialPayRate).Filterable(false).Sortable(false).Width(75);                                columns.Bound(p => p.Comment).Filterable(false).Sortable(false).Width(150);                                columns.Bound(p => p.MonST).Filterable(false).Sortable(false).Format("{0:n1}").Title("Mon ST").Width(40);                                columns.Bound(p => p.MonOT).Filterable(false).Sortable(false).Width(40);                                columns.Bound(p => p.MonDT).Filterable(false).Sortable(false).Width(40);                                columns.Bound(p => p.TueST).Filterable(false).Sortable(false).Width(40);                                columns.Bound(p => p.TueOT).Filterable(false).Sortable(false).Width(40);                                columns.Bound(p => p.TueDT).Filterable(false).Sortable(false).Width(40);                                columns.Bound(p => p.WedST).Filterable(false).Sortable(false).Width(40);                                columns.Bound(p => p.WedOT).Filterable(false).Sortable(false).Width(40);                                columns.Bound(p => p.WedDT).Filterable(false).Sortable(false).Width(40);                                columns.Bound(p => p.ThuST).Filterable(false).Sortable(false).Width(40);                                columns.Bound(p => p.ThuOT).Filterable(false).Sortable(false).Width(40);                                columns.Bound(p => p.ThuDT).Filterable(false).Sortable(false).Width(40);                                columns.Bound(p => p.FriST).Filterable(false).Sortable(false).Width(40);                                columns.Bound(p => p.FriOT).Filterable(false).Sortable(false).Width(40);                                columns.Bound(p => p.FriDT).Filterable(false).Sortable(false).Width(40);                                columns.Bound(p => p.SatST).Filterable(false).Sortable(false).Hidden(true).Width(40);                                columns.Bound(p => p.SatOT).Filterable(false).Sortable(false).Width(40);                                columns.Bound(p => p.SatDT).Filterable(false).Sortable(false).Width(40);                                columns.Bound(p => p.SunST).Filterable(false).Sortable(false).Hidden(true).Width(40);                                columns.Bound(p => p.SunOT).Filterable(false).Sortable(false).Hidden(true).Width(40);                                columns.Bound(p => p.SunDT).Filterable(false).Sortable(false).Width(40);                                columns.Command(command =>                                {                                    command.Destroy().HtmlAttributes(new { title = "Delete highlighted employee"});                                }).Title("Options").Width(100);                            })                            .Sortable()                            .Scrollable()                            .Filterable()                            .HtmlAttributes(new { style = "height:650px;width:1615px;" })                            .DataSource(dataSource => dataSource                                .Ajax()                                .Batch(true)                                .PageSize(100)                                .Model(model => model.Id(p => p.EmployeeCode))                                .Update(update => update.Action("Timecard_Update", "Timecard"))                            )    )</div>

