31

を持っていて、フィルタリングとソートの後にそれkendoGridを取得したいのですが、JSONどうすればこれを達成できますか?

次のようなもの、

var grid = $("#grid").data("kendoGrid");

alert(grid.dataSource.data.json); // I could dig through grid.dataSource.data and I see a function ( .json doen't exist I put it there so you know what i want to achieve )

助けてくれてありがとう!

4

5 に答える 5

61

私はあなたが探していると思います

var displayedData = $("#YourGrid").data().kendoGrid.dataSource.view()

次に、次のように文字列化します。

var displayedDataAsJSON = JSON.stringify(displayedData);

お役に立てれば!

于 2012-04-28T06:44:03.830 に答える
22

フィルタリングされたデータのすべてのページを取得したい場合は、これを使用できます。

var dataSource = $("#grid").data("kendoGrid").dataSource;
var filters = dataSource.filter();
var allData = dataSource.data();
var query = new kendo.data.Query(allData);
var data = query.filter(filters).data;

フィルタを適用する前に、フィルタが存在するかどうかを確認してください。そうしないと、Kendo からエラーが発生します。

于 2013-08-21T16:32:12.913 に答える
1

JSON 部分については、JSON 形式でデータを抽出するためのヘルパー関数があり、次のように役立ちます。

var displayedData = $("#YourGrid").data().kendoGrid.dataSource.view().toJSON()

編集:剣道グリッドの動作が原因で上記の方法でいくつかのエラーが発生した後、問題を解決するこの記事を見つけました: Kendo DataSource view not always return observablearray

于 2014-09-29T14:35:23.357 に答える