プロジェクトでjsGridを機能させようとしていますが、正しく機能させることができないため、何かが欠けています。ドキュメントを何度か注意深く読みました。
シナリオは次のとおりです。
- サブリージョンのリストを取得するための AJAX 呼び出し
- 国のリストを取得するための AJAX 呼び出し (ページネーションをクリックするたびに、適切な値を取得するために新しい要求を行う必要があります)
コントローラーセクションの下のドキュメントから:
loadData は、データの配列またはデータの配列で解決される jQuery promise を返す関数です (オブジェクトの代わりに pageLoading が true の場合、構造 { data: [items], itemsCount: [total items count] } が返されます)。 . pageLoading が true の場合、現在のフィルター オプションとページング パラメーターを含むフィルター パラメーターを受け入れます。
したがって、私のPHP関数は、期待どおり「適切な」形式でデータを返します。つまり、次のことを意味します。
{
data: [items],
itemsCount: [total items count]
}
AJAX呼び出しが行われたときに取得した結果(国の結果用)でPastebinを作成しました。データは今のままだと思います。だから、これは私のコードがどのように見えるかです:
$(function () {
$.ajax({
type: "GET",
url: "/adminconsolejsgrid/subregion"
}).done(function (subregion) {
$("#jsGrid").jsGrid({
height: "70%",
width: "100%",
filtering: true,
sorting: true,
paging: true,
autoload: true,
pageSize: 15,
pageButtonCount: 5,
pageLoading: true,
controller: {
loadData: function (filter) {
return $.ajax({
type: "GET",
url: "/adminconsolejsgrid/countries",
data: filter
});
}
},
fields: [
{name: "country_name", title: "Name", type: "text", width: 100, sorting: true},
{name: "country_abbr", title: "Code", type: "text", width: 5, sorting: true},
{
name: "subregion",
title: "SubRegion",
type: "select",
width: 100,
items: subregion,
valueField: "subregion_id",
textField: "subregion_name"
},
{type: "control"}
]
});
});
});
しかし、まだ機能していません。つまり、グリッドで値を取得していません。この写真は私が得るものの例です:
私は何が欠けていますか?何か助けはありますか?