0

我正在尝试让jsGrid在项目中工作,但由于无法使其正常工作,因此我遗漏了一些东西。我已经仔细阅读了几次文档。

场景如下:

  • 获取子区域列表的 AJAX 调用
  • 获取国家列表的 AJAX 调用(每次我单击分页时,都应发出新请求以获得正确的值)

来自控制器部分下的文档:

loadData 是一个返回数据数组或 jQuery 承诺的函数,该函数将使用数据数组解析(当 pageLoading 为 true 而不是 object 时,应返回结构 { 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"}
            ]
        });
    });
});

但仍然不适合我,这意味着我没有在网格上获得任何值。这张照片是我得到的一个例子:

在此处输入图像描述

我错过了什么?有什么帮助吗?

4

0 回答 0