web-dev-qa-db-ja.com

剣道グリッドからすべての行を削除する方法

Kendo gridを使用しています。

JavaScriptを使用してKendo gridからすべての行を削除したい。

Forループを使用してそれらを削除しましたが、すべての行を削除する最善の方法を見つけたいと考えています。

24
Rikin Patel

次のコードを試してください。

$("#Grid").data('kendoGrid').dataSource.data([]);

デモクリックの場合 ここ

51
Rikin Patel

これはグリッドの基になるデータを実際に移動するのではなく、表示されている行をクリアするだけです。 「空の」グリッドをソートすると、すべての行が基になるデータから再表示されます。

次のようにデータを削除する代わりに:

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
6
Paul Gorbas

Angularjsを使用している場合は、次のコードに従ってください。

 $scope.gridData.data([]);

ここで、gridDatak-data-source="gridData"です

5
Shafeeq

これでうまくいきました。

var grid = $("#Grid").data("kendoGrid");
var newDataSource = new kendo.data.DataSource({
    data: []
});
grid.setDataSource(newDataSource);
1
Mahesh