jqGrid: JSON, возвращенный веб-службой, не будет привязан к подсети - PullRequest
0 голосов
/ 02 апреля 2019

Я пытаюсь добавить подсетки в существующую jqGrid.

Когда я раскрываю родительскую строку, URL-адрес вызывается, и ответ JSON выглядит хорошо (на мой взгляд), но он не привязан к строкам подсетки.

Если я вызываю веб-службу напрямую, вставляя URL-адрес в браузер, ответ выглядит хорошо.

Это полное определение jqGrid:

            /* +++ Group Grid Definition +++ */
            $("#<%= id %>_groupTable").jqGrid({
                loadonce: true,
                datatype: 'local',
                //sortable: true,
                gridview: true,
                editurl: "clientArray",
                autowidth: true,
                rowNum: 12000,
                height: 150,
                multiselect: false,
                hidegrid: false,
                pgbuttons: false,
                pginput: false,
                sortname: "Date",
                sortorder: "desc",
                jsonReader: {
                    root: "inbox",
                    page: "page",
                    total: "total",
                    records: "records",
                    id: "id",
                    repeatitems: false,
                    subgrid: { repeatitems: true }
                },
                toolbar: [true, "bottom"],
                colModel: [
                {
                    name: 'userGroupId',
                    label: '{{VIEW_LABEL}}',
                    index: 'userGroupId',
                    width: 50,
                    fixed: true,
                    hidden: true,
                    //sortable: false,
                    align: 'center'
                }, {
                    name: 'desc',
                    label: '{{NAME_LABEL}}',
                    index: 'desc',
                    width: 130,
                    align: 'center',
                    sorttype: 'text'
                }],
                hidegrid: false,
                gridComplete: function () {
                    $('#<%= id %> .loading').remove();
                    $('#<%= id %>_groupTable').jqGrid('setSelection', 1);
                },
                loadComplete: styleGroupRows,
                afterInsertRow: styleGroupRows,
                subGrid: true,
                subgridtype: 'json',
                subGridUrl: '/ws/users/groupusers',
                subGridModel: [
                    {
                        name: ['Name'],
                        width: [200],
                        params: ['userGroupId']
                    }]
            }).jqGrid('bindKeys', {
                'scrollingRows': true
            });

Это ответ JSON от веб-службы:

{'rows':['User 1312','User 1316','User 1286','User 1149']}

Я ожидаю один столбец имен пользователей во вложенных сетках, но отображаются только заголовки столбцов.

1 Ответ

0 голосов
/ 02 апреля 2019

Ваш ответ в подсетке не соответствует правилам.

Попробуйте следующий ответ:

{"rows":[{"id":"1","cell":["User 1312"]},{"id":"2","cell":["User 1316"]}]}
...