Javascript KendoUI网格取消选中/选定行

Javascript KendoUI网格取消选中/选定行,javascript,jquery,kendo-ui,kendo-ui-grid,Javascript,Jquery,Kendo Ui,Kendo Ui Grid,我有一个带复选框的KendoUI网格来选择多行,它的数据绑定事件是: function onDataBound(e) { e.sender.items().each(function () { var dataItem = e.sender.dataItem(this); kendo.bind(this, dataItem); if (dataItem.IsChecked) { $(this).addClass("k-state-selected");

我有一个带复选框的KendoUI网格来选择多行,它的数据绑定事件是:

function onDataBound(e) {
e.sender.items().each(function () {
    var dataItem = e.sender.dataItem(this);
    kendo.bind(this, dataItem);
    if (dataItem.IsChecked) {
        $(this).addClass("k-state-selected");
    }
});
}

绑定字段是:

{ 
    field:"IsChecked",  
    template: "<input type='checkbox' class='checkbox' data-bind='checked:IsChecked' />"
}
{
字段:“已检查”,
模板:“”
}
它工作正常,但现在当我单击工具栏的“取消”按钮时,我刚才手动检查(和选择)的行仍会显示,但我希望返回原始状态(在我手动检查/选择行之前)

如何在自定义工具栏按钮中执行此取消操作?

此操作适用于我:

$(grid.element).on("click", ".toolbar-cancel", function() {
    grid.clearSelection();
    grid.dataItems().forEach(function(dataItem) {
        dataItem.set("IsChecked", false);
    });
});

这并不能直接回答您的问题,但为了防止您错过,从R2 2017 SP1开始,剑道网格提供了基于复选框的选择。假设你可以使用剑道或更高版本,它可能会使你想要实现的目标变得简单。请参阅,以获取有关如何执行当前尝试的操作的演示,以及指向更新的simpler方法的链接。感谢您提供的参考文章,是的,我看到了,但出于某些原因,我仍然在当前项目中使用更旧的版本谢谢!但我的情况还有一个问题,如果我将selectable设置为true,那么我检查的行可能与我选择的行不对应,所以我想将selectable设置为false,如果设置为false,grid.clearSelection()将被禁用,那么我自己应该如何实现clearSelection?@nineveh.Y check。它似乎适用于
selective:false
。我明白了,但在我的项目中,它在grid.clearSelection()中说“TypeError:e.selective是未定义的”,我想我的kendoUI版本有点旧了吧?我明白了,非常感谢!另一方面,它可以直接调用
$(“#grid”).data(“kendoGrid”).dataSource.read()