Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 剑道UI网格-删除行需要很长时间_Performance_Kendo Grid - Fatal编程技术网

Performance 剑道UI网格-删除行需要很长时间

Performance 剑道UI网格-删除行需要很长时间,performance,kendo-grid,Performance,Kendo Grid,我正在我的HTML页面中开发一个剑道网格,它从后端服务获得大约500多条记录。 我为每一行创建了一个复选框,当我选中该复选框时,它将选中该行。 当我使用下面的代码删除行时,每次删除记录大约需要8秒钟 var _gridData = grid.dataSource.data(); var len = _gridData.length; while (len--) { if (_gridData[len].check_row == true)

我正在我的HTML页面中开发一个剑道网格,它从后端服务获得大约500多条记录。 我为每一行创建了一个复选框,当我选中该复选框时,它将选中该行。 当我使用下面的代码删除行时,每次删除记录大约需要8秒钟

var _gridData = grid.dataSource.data();
        var len = _gridData.length;
        while (len--) {
            if (_gridData[len].check_row == true) { // row has the checkbox ticked
                grid.dataSource.remove(_gridData[len]);
            }
        }
你能告诉我为什么当我们有更多的记录(比如400多条记录)时删除要花更多的时间,而当我们有更少的记录(比如10-20条记录)时删除要花更少的时间吗

谢谢
Anil

听起来你好像有逻辑问题,我不会在整个数据列表中循环查找复选框。我会在网格中找到所有复选框,并使用jquery进行检查,这比循环所有数据要快得多,然后获取数据项并将其从数据源中删除

$("#grid").find('input:checkbox:checked').each(function(index,elem){
var tr=$(elem).closest("tr");
var grid=$("#grid").data("kendoGrid");
var dataItem = grid.dataItem(tr);
grid.dataSource.remove(dataItem );
});
注意:此未测试的代码可能存在语法问题


要使数据项正常工作,必须在数据源中定义一个模型

谢谢。。我尝试使用$。每个网格选择的行如下所示。但从数据源中删除每条记录仍然需要8秒$grid tr.k-state-selected.eachfunction e{//remove the row}您可能需要将批处理设置为true,这样它将一次发送所有请求。它的批次:真的