Kendo grid
を使用しています。
JavaScript
を使用してKendo grid
からすべての行を削除したい。
Forループを使用してそれらを削除しましたが、すべての行を削除する最善の方法を見つけたいと考えています。
これはグリッドの基になるデータを実際に移動するのではなく、表示されている行をクリアするだけです。 「空の」グリッドをソートすると、すべての行が基になるデータから再表示されます。
次のようにデータを削除する代わりに:
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
Angularjsを使用している場合は、次のコードに従ってください。
$scope.gridData.data([]);
ここで、gridData
はk-data-source="gridData"
です
これでうまくいきました。
var grid = $("#Grid").data("kendoGrid");
var newDataSource = new kendo.data.DataSource({
data: []
});
grid.setDataSource(newDataSource);