jqGrid пуст, хотя пейджер показывает результаты - PullRequest
1 голос
/ 27 сентября 2011

Я обновляюсь с jqGrid 3.6.3 -> 4.1.2.

После обновления сетка всегда отображается пустой, хотя пейджер показывает правильное количество результатов (6 в данном случае).Я вижу, что JSON извлекается и является действительным.

Ошибка не отображается, и ничего не записывается в консоль javascript.Если я подключаюсь к событию loadComplete, оно запускается - и grid.getDataIDs () возвращает пустой массив - как если бы данных не было.

Здесь передается JSON (отформатированный с помощью JSONLint).Он правильно отформатирован в JSON и проходит проверку JSONLint:

{
    "pageCount": "1",
    "pageSize": "15",
    "pageNumber": "1",
    "itemCount": "6",
    "items": [
        {
            "Id": "1",
            "Name": "Administrator"
        },
        {
            "Id": "3",
            "Name": "asfasfassf"
        },
        {
            "Id": "6",
            "Name": "askjdhajksdk sh"
        },
        {
            "Id": "2",
            "Name": "fg"
        },
        {
            "Id": "5",
            "Name": "test"
        },
        {
            "Id": "4",
            "Name": "sa afasf saf"
        }
    ]
}

Вот соответствующая часть параметров jqGrid, которые я передаю в jqGrid:

{
    datatype: 'json',
    jsonReader: {
        root: 'items',
        id: '0',
        repeatitems: false,
        page: 'pageNumber',
        total: 'pageCount',
        records: 'itemCount'
    },
    mtype: 'POST',
    ...
};

Я проверил паутины дляответ, но не повезло.У кого-нибудь есть предложение?!

Смотрите ниже скриншот объекта параметров, который я передаю в jqGrid (параметры):

jqgrid options object

Заранее спасибо!!!

Ответы [ 2 ]

1 голос
/ 27 сентября 2011

Добавьте cell: '' в ваш jsonReader:

jsonReader: {
    root: 'items',
    id: '0',
    repeatitems: false,
    page: 'pageNumber',
    total: 'pageCount',
    records: 'itemCount',
    cell: ''
}

http://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieving_data#json_data

По умолчанию для параметра jsonReader cell установлено значение "ячейка", что означает, что ваши данные должны быть отформатированы следующим образом:

{
    "pageCount": "1",
    "pageSize": "15",
    "pageNumber": "1",
    "itemCount": "6",
    "items": [
        {
            "Id": "1",
            "cell": ["Administrator"]
        },
        {
            "Id": "3",
            "cell": ["asfasfassf"]
        }
    ]
}

Кроме того, ознакомьтесь с руководством по обновлению с v3.6.4 до v3.6.5: http://www.trirand.com/jqgridwiki/doku.php?id=wiki:upgrade_from_3.6.4_to_3.6.5

0 голосов
/ 29 сентября 2011

Я решил проблему, и проблема была совершенно не связана с JSON.

После обновления до jqGrid 4.1.2 я обнаружил, что моя таблица сетки должна иметь атрибут id. К сожалению, я установил неверный идентификатор на таблицу (в ней случайно были пробелы).

Как только я исправил атрибут таблицы, сетка начала корректно отображаться.

Спасибо за ваши ответы!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...