jqGrid:Web服务返回的JSON不会绑定到子网格

时间:2019-04-02 15:37:48

标签: json jqgrid subgrid

我正在尝试将子网格添加到现有的jqGrid中。

当我展开父行时,URL被调用,并且JSON响应(在我看来)看起来不错,但未绑定到子网格行。

如果我通过将URL粘贴到浏览器中直接调用Web服务,则响应看起来不错。

这是完整的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
            });

这是来自Web服务的JSON响应:

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

我希望子网格中有一列用户名,但只会出现列标题。

1 个答案:

答案 0 :(得分:0)

您的subGrid响应与规则不匹配。

尝试以下响应:

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