我正在使用Kendo grid
.
我想从Kendo grid
使用中删除所有行JavaScript
。
我使用 for 循环删除了它们,但我想找到删除所有行的最佳方法。
我正在使用Kendo grid
.
我想从Kendo grid
使用中删除所有行JavaScript
。
我使用 for 循环删除了它们,但我想找到删除所有行的最佳方法。
尝试遵循代码。
var grid = $("#Grid").data('kendoGrid');
grid.dataSource.data([]);
grid.setDataSource([]);
演示点击这里
更新:修复排序问题...谢谢@Windle
这并没有真正移动网格的基础数据,它只是清除了正在显示的行。如果您对“空”网格进行排序,所有行都会从基础数据中重新出现。
如果不是像这样删除您的数据:
dataSource.data([]);
而是用一个新的数据数组替换它,比如名为 result.Data.. 像这样:
dataSource.data(result.Data)
您将看到数据交换,但如果排序或分页,则会再次显示原始数据。
任何人都知道如何实际更改数据并让新数据替换网格的源数据?
更新:答案是也使用 setDataSource 方法:
var grid = $("#grid").data("kendoGrid");
var dataSource = grid.dataSource;
dataSource.data([]);//clear out old data
dataSource.data(result.Data);//add new data
grid.setDataSource(result.Data);//set the new data as the grids new datasource
dataSource.sync();//refresh grid
如果您正在使用 Angualrjs,请尝试遵循以下代码:
$scope.gridData.data([]);
gridData
在哪里k-data-source="gridData"
这对我来说很好。
var grid = $("#Grid").data("kendoGrid");
var newDataSource = new kendo.data.DataSource({
data: []
});
grid.setDataSource(newDataSource);