Kendo ui 在列上分组时不会激发kendo datagrid更新事件

Kendo ui 在列上分组时不会激发kendo datagrid更新事件,kendo-ui,datagrid,kendo-ui-grid,Kendo Ui,Datagrid,Kendo Ui Grid,我有一个剑道数据网格,默认情况下按列分组,我想内联编辑网格。我不希望用户按任何其他列分组。虽然默认分组工作正常,但不会触发更新事件,并且控件不会转到控制器的内联更新方法。你能检查一下我哪里出错了吗。代码如下: @(Html.Kendo().Grid(Model) .Name("grdTimesheets") .Columns(columns => { columns.Bound(p => p.EmployeeId).Hidden(true);

我有一个剑道数据网格,默认情况下按列分组,我想内联编辑网格。我不希望用户按任何其他列分组。虽然默认分组工作正常,但不会触发更新事件,并且控件不会转到控制器的内联更新方法。你能检查一下我哪里出错了吗。代码如下:

 @(Html.Kendo().Grid(Model)
    .Name("grdTimesheets")
    .Columns(columns =>
    {
        columns.Bound(p => p.EmployeeId).Hidden(true);
        columns.Bound(p => p.FirstName);
        columns.Bound(p => p.Monday.Hour).Title("Monday")
            .EditorTemplateName("TimesheetMonday");
        columns.Command(command =>
        {
            command.Edit();
            command.Destroy();
            command.Custom("Add").Text(" ").Click("AddNewTimesheet");
        });
    })
    .Editable(editable => editable.Mode(GridEditMode.InLine))
    .Pageable()
    .Sortable()
    .Groupable(false)
    .Scrollable()
    .DataSource(dataSource => dataSource
        .Ajax()
        .Model(model =>
        {
            model.Id(p => p.EmployeeId);
            model.Field(p => p.FirstName).Editable(false);
        })
        .PageSize(20)
        .Update(update => update.Action("EditingInline_Update", "Timesheet"))
        .Destroy(destroy => destroy.Action("EditingInline_Destroy", "Timesheet"))
        .Group(d=>d.Add(f=>f.FirstName))
    )

如果我注释掉最后一行“.groupd(d=>d.Add(f=>f.FirstName))”,则一切正常,但默认分组将关闭

我知道现在回答有点晚,但我会把这个留在这里,以防其他人也有同样的问题。一旦您按任何列分组,网格将不会触发“.Update”(Update=>Update.Action(“editingline\u Update”,“Timesheet”)”)。为了解决这个问题,您需要为网格添加OnedEvent,并在javascript函数中将事件附加到textbox/dropdown或任何控件。样本如下:

.Events(Events=>Events.Edit(“grid_Edit”))这在视图中

javascript:

function grid_edit(e) {
    var grid = $('#grid').data('kendoGrid');
    var cell = e.container;
    var area = cell.find("textarea")

    area.on("blur", function() {
        // update ur entries here
        var areaVal = cell.find("textarea").val(); // this is the new value
        // call some ajax to update the value and in the success call grid.dataSource.sync(); to refresh the grid
    });}
此外,还需要删除数据源的.Update(),因为不再需要它