Kendo ui 如何标记剑道格网';s单元格是否已编辑?

Kendo ui 如何标记剑道格网';s单元格是否已编辑?,kendo-ui,kendo-grid,kendo-asp.net-mvc,Kendo Ui,Kendo Grid,Kendo Asp.net Mvc,我正在使用JavaScript动态编辑一些字段。但问题是Kendo的数据源无法将它们识别为已更改的单元格 网格的编辑模式为InCell 这是我当前的JavaScript代码: tablesGrid.tbody.find("input[type='checkbox']").each(function () { $(this).on('change', function () { var isChecked = $(this).prop('checked');

我正在使用JavaScript动态编辑一些字段。但问题是Kendo的数据源无法将它们识别为已更改的单元格

网格的编辑模式为
InCell

这是我当前的JavaScript代码:

tablesGrid.tbody.find("input[type='checkbox']").each(function () {
    $(this).on('change', function () {
        var isChecked = $(this).prop('checked');
        var dataItem = tablesGrid.dataItem($(this).closest('tr'));
        var currentTr = $(this).closest('tr');
        var i = $('td:visible', currentTr).index($(this).closest('td'));
        var head = tablesGrid.thead.find('th:visible')[i];
        var headName = $(head).prop('dataset').field;
        tablesGrid.editCell($(this).closest('td'));
        dataItem[headName] = isChecked;
        tablesGrid.refresh();
    });
});
如果您想知道这段代码,我应该注意,我正在使用客户机模板来显示复选框。但我不希望用户双击单元格进行编辑,一次将其置于编辑模式,另一次则更改复选框。我不确定我是否使用了正确的解决方案,但JS代码确实有效。如果我在单元格中单击并将其置于编辑模式,我将看到更改

@(Html.Kendo().Grid<grid>()
    .Name("grid")
    .Columns(columns =>
    {
        columns.Bound(x => x.field)
            .ClientTemplate("<input type='checkbox' class='checkbox-inline' #=field? checked='checked':''# />")
            .EditorTemplateName("Checkbox");
@(Html.Kendo().Grid())
.名称(“网格”)
.列(列=>
{
columns.Bound(x=>x.field)
.ClientTemplate(“”)
.EditorTemplateName(“复选框”);

好吧,我想到的最好的解决方案是在鼠标进入单元格时将单元格置于编辑模式!因此,我不使用问题中的整个JS代码,而是使用这个

tablesGrid.bind('dataBound', function () {

    tablesGrid.tbody.find('td').each(function () {
        $(this).mouseenter(function () {
            tablesGrid.editCell(this);
        });
    });
});
请让我知道,如果你有任何更好或更有效的方法来使用编辑 网格中的复选框