かなり新しく、剣道データグリッド (2.2015) でページングを使用しようとしています。ページングなしで動作していましたが、ページングにはデータで合計レコード数を返す必要があるため、Web サービスからの json 結果を次のように変更しました。
{
"total":98,
"data":[
{"ID":164,"Name":"ABRAHAM, ALBERTA","Phone":"(111) 222-7240","Row":1},
{"ID":173,"Name":"ABRAHAM, SERENA","Phone":"(111) 222-4067","Row":2},
{"ID":213,"Name":"ADAMS, RONNIE","Phone":"(111) 222-0273","Row":3},
{"ID":151,"Name":"ADDISON, RAYMOND \u0026 SUE","Phone":"111-222-6252","Row":4},
{"ID":175,"Name":"ALEXANDER, FRANKLIN","Phone":"(111) 222-6839","Row":5}
]
}
ページ サイズは 5 で、ここにあるデータソースで定義されています。
Search.clientDataSource = new kendo.data.DataSource({
transport: {
read: {
url: myUrl,
dataType: "json",
type: "get"
}
},
pageSize: 5,
serverPaging: "true",
schema: {
total: "total",
data: "data"
}
});
私が知る限り、上記は「本による」ものであり、この件に関して私が読んだすべてのものと一致します。
(以下のコメントはニシンかもしれません)ページングなしで動作させると、データは名前のない配列で返され、スキーマではこれを使用しました:
schema: {
data: function (response) {
var obj = JSON.parse(response);
return obj;
}
}
これは機能しましたが、この方法で行われた例は見たことがありません。返された配列に名前が付けられていなかったためだと思いました。すべての例は、データを使用したスキーマを示していました。名前のない配列でこれを使用すると、スライス エラーが発生しました。これは、スライスするデータ配列がないためだと思いました。
すべてをクリーンアップしたので、ページングでサポートされているデータがこのエラーをスローするのはなぜですか?