我想让jsGrid在项目中工作,但我遗漏了一些东西,因为我无法让它正常工作。我已多次仔细阅读文档。
方案如下:
来自控制器部分下的文档:
loadData是一个返回数据或jQuery promise数组的函数 将使用数据数组解析(当pageLoading为true时) 而不是对象结构{data:[items],itemsCount:[total items count]}应该返回)。接受过滤器参数包括 pageLoading为true时的当前过滤器选项和分页参数。
所以我的PHP函数按照预期的“正确”格式返回数据,这意味着:
{
data: [items],
itemsCount: [total items count]
}
我创建了一个Pastebin,其结果是我在调用AJAX时获得的结果(对于国家/地区结果)。我相信现在的数据。所以,这就是我的代码的样子:
$(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"}
]
});
});
});
但仍然没有为我工作,这意味着我没有在网格上获得任何值。这张照片是我得到的一个例子:
我缺少什么?有什么帮助吗?