Javascript KendoUI网格取消选中/选定行
我有一个带复选框的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");
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()代码>