使用分页从 Kendo 网格中删除行
Delete rows from Kendo Grid with Pagination
我有一个包含一些条目的 kendo 网格(启用了分页)。比如说,我有 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);
是否有更好的方法或 kendo API 我想念的?
提前致谢。
您可以从数据源中删除,而不是 grid.First 将每个选定项目的 ID 推送到一个数组,例如 DeleteList。然后您可以通过单击顶部的 DELETE 从数据源中删除。
for(i=0; i<= DeleteList.length; i++)
{
grid.dataSource.remove(grid.dataSource.get(DeleteList[i]));
}
我有一个包含一些条目的 kendo 网格(启用了分页)。比如说,我有 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);
是否有更好的方法或 kendo API 我想念的? 提前致谢。
您可以从数据源中删除,而不是 grid.First 将每个选定项目的 ID 推送到一个数组,例如 DeleteList。然后您可以通过单击顶部的 DELETE 从数据源中删除。
for(i=0; i<= DeleteList.length; i++)
{
grid.dataSource.remove(grid.dataSource.get(DeleteList[i]));
}