私は、これらのものがすでにたくさんあることを知っています。ただし、SO の投稿、フォーラム、剣道 UI サイトを何十回も試しましたが、まだ機能しません。私はこれでロープの終わりにいます。どんな助けでも大歓迎です。
これが私のdataSource宣言です:
var dataSource = new kendo.data.DataSource({
transport: {
read: function(options) {
$.ajax( {
type: "POST",
url: "DepartmentHome.aspx/GetMembers",
data: options.data,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
options.success(msg.d);
alert(msg.d);
}
});
}
},
pageSize: 20,
schema: {
model: {
fields: {
FirstName: { validation: { required: true} },
LastName: { validation: { required: true} }
}
}
}
});
データソースを使用したグリッド宣言は次のとおりです。
$("#grid").kendoGrid({
dataSource: dataSource,
scrollable: true,
groupable: false,
sortable: true,
pageable: {
refresh: true,
pageSizes: true
},
height: 430,
toolbar: ["create"],
columns: [
{ field: "FirstName", title: "First Name", width: "100px" },
{ field: "LastName", title: "Last Name", width: "100px" },
{ command: ["edit", "destroy"], width: "160px" }
],
editable: {
mode: "popup",
confirmation: "Are you sure?"
}
});
データソース宣言で呼び出している WebMethod の背後にあるコードは次のとおりです。
[WebMethod]
public static string GetMembers()
{
var serializer = new JavaScriptSerializer();
string json = serializer.Serialize(new { FirstName = "John", LastName = "Smith" });
return json;
}
データ ソースに入力したアラートが正しいデータを示しているため、WebMethod にヒットしていることがわかります。
firebug を使用すると、応答ヘッダーは次のようになります。
実際の応答は次のようになります。
ただし、グリッドには次のようなデータは表示されません。
注: 何らかの理由で、グリッドは右下隅に 39 個のアイテムがあると認識しています。
明らかな何かが欠けていますか?これを行う簡単な方法はありますか?