【问题标题】:Delete rows from Kendo Grid with Pagination使用分页从 Kendo Grid 中删除行
【发布时间】:2016-12-14 09:50:10
【问题描述】:

我有一个带有一些条目的剑道网格(启用了分页)。说,我有 5 页,我从每一页中选择(单击复选框)一行,然后单击顶级操作删除。我不知道如何从网格和数据源中删除条目?

我尝试了下面的代码,它从网格中(屏幕上)可见的页面中删除条目

        var grid = $("#grid").data("kendoGrid");
        var userSelectionInfo = usersService.getUserSelectionInfo();
        for(var userName in userSelectionInfo) {
            if(userSelectionInfo[userName]) {
                var selector = '#' + userName+ '_actions';
                grid.removeRow($(selector).closest('tr'));
            }
        }

我又尝试了一种方法:

我创建了一个对象数组,在删除操作后从原始对象数组中保留该数组,然后将其添加到网格数据源中。

    var newData = [];
    var userSelectionInfo = usersService.getUserSelectionInfo();
    for(var i = 0; i < users.length; i++) {
        if(users[i].userName&& !userSelectionInfo[users[i].userName]) {
            newData.push(users[i]);
        }
    }
    loadUsersIntoGrid(newData);

有没有我缺少的更好的方法或剑道 API? 提前致谢。

【问题讨论】:

    标签: javascript jquery pagination kendo-grid datasource


    【解决方案1】:

    您可以从数据源而不是网格中删除。首先将每个选定项目的 id 推送到一个数组,例如 DeleteList。然后,您可以单击顶部的 DELETE 从数据源中删除。

    for(i=0; i<= DeleteList.length; i++)
    {
      grid.dataSource.remove(grid.dataSource.get(DeleteList[i]));
    }
    

    【讨论】:

    • grid.dataSource.get(DeleteList[i]) 给出未定义
    • DeleteList 将是一个数组,用于存储需要删除的 Id。首先,您必须定义数组并将 Ids 推入其中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-01
    • 2019-07-23
    • 2015-12-15
    相关资源
    最近更新 更多