Kendo ui 如何删除剑道网格中的多行?

Kendo ui 如何删除剑道网格中的多行?,kendo-ui,Kendo Ui,我有一个剑道网格,第一列是复选框。我想使用这些复选框删除多行。我一次只能删除一行 我试着加上 .Batch(true) 对于数据源,下面是我在网格外删除按钮的功能 function deleteRule() { var grid = $("#grid").data("kendoGrid"); grid.select().each(function () { grid.removeRow($(this)); }); } 有什么建议吗?朋友 你到底是如

我有一个剑道网格,第一列是复选框。我想使用这些复选框删除多行。我一次只能删除一行

我试着加上

.Batch(true) 
对于数据源,下面是我在网格外删除按钮的功能

function deleteRule() {
    var grid = $("#grid").data("kendoGrid");

    grid.select().each(function () {
        grid.removeRow($(this));
    });
}
有什么建议吗?

朋友

你到底是如何删除这一行的?为什么使用select方法

基本上,我建议您创建一个delete按钮,该按钮执行删除所选行的逻辑-我猜您使用的是一个带有复选框的tempalte列。如果将类添加到该复选框中,则可以轻松地选择网格中的所有复选框。因此,假设复选框的类名称为cool,那么您可以在delete button click处理程序中执行以下逻辑:

function whenYourDeleteButtonIsClicked(){
    var grid = $("#grid").data("kendoGrid");
    $('.cool:selected').each(function(){
       grid.removeRow($(this).closest('tr'));
    })
}
我希望你有这个想法,伙计。 祝你好运。

这是我用的

效果很好

    $('#your-grid-id').data("kendoGrid").select().each(function () {
        grid.dataSource.remove(grid.dataItem($(this).closest("tr")));
   });

谢谢你的回复。这是我的第一篇专栏文章在修改后的样子。这是正确的吗?columns.Bound(p=>p.checkBox).ClientTemplate(“不确定是什么错误-以某种方式发送一些小项目,以便我可以查看以检索行,我宁愿使用
$(“#网格”).find(“输入:选中”)
,但我认为这与您的解决方案大致相同……那么,为什么在删除每一行后都要为每一行调用网格数据绑定呢?我处理数据绑定上的每一行,删除它们后,会为每一行调用数据绑定,而每一行仍然认为删除的行在那里,所以我只会得到很多js错误。您一定要使用ch吗eckbox选择要删除的行?为什么不让网格选择多行,然后每次选择一行时,将每一行/记录(uid)保留在一个数组中。然后单击delete按钮,在gridDataSource中循环,并使用“remove”[gridDataSource.remove(selectedRow);]方法,然后使用“sync”[gridDataSource.sync();]它。这可能在过去是有效的。现在最新的2018年剑道抛出了一个错误:TypeError:grid.dataSource未定义你必须有一个已经引用到网格的变量,比如
var grid=$(“#你的网格id”).data(“kendoGrid”)
你是对的。我的瞎眼看不到我没有在“dataSource”中大写“S”。var grid=$(“#grid”).data(“kendoGrid”);grid.dataSource.read();