jqGrid: Замороженные столбцы родительской сетки не работают после добавления подсети

#jqgrid

Вопрос:

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

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

Есть ли что-нибудь, чего мне не хватает, что мешает работе замороженных столбцов в родительской сетке?

Вот мой jqgrid:

 $(function () {
"use strict";
var myData = {
        id: "509403957ae7d3929edcb812",
        name: "MYBOOK",
        chapters: [
            {
                name: "myfirstchapter",
                sequence: 10,
                title: "My First Chapter",
                filetype: "tex", 
                col3: "a", 
                col4: "b",
                files: [
                    { filetype: "tex", name: "myfile1", col3: "a", col4: "b" },
                    { filetype: "doc", name: "myfile2", col3: "c", col4: "d" },
                    { filetype: "doc", name: "myfile3", col3: "e", col4: "f" },
                ]
            },
            {
                name: "mysecondchapter",
                sequence: 20,
                title: "My Second Chapter",
                filetype: "tex", 
                col3: "a", 
                col4: "b",
                files: [
                    { filetype: "tex", name: "myfirstfile", col3: "a", col4: "b" },
                    { filetype: "tmpl", name: "myfileb", col3: "c", col4: "d" },
                ]
            }
        ]
    },
    $grid = $("#list");

$grid.jqGrid({
    datatype: "local",
    data: myData.chapters,
    colNames: ["Sequence", "Name", "Title", "Filetype", "col3", "col4"],
    colModel: [
        {name: "sequence", width: 65, key: true, frozen: true },
        {name: "name", width: 200, frozen: true },
        {name: "title", width: 150},
        {name: "filetype", width: 130},
        {name: "col3", width: 130},
        {name: "col4", width: 130}
    ],
    rowNum: 3,
    rowList: [3, 5, 10],
    pager: "#pager",
    gridview: true,
    ignoreCase: true,
    rownumbers: true,
    sortname: "sequence",
    viewrecords: true,
    height: "auto",
    autowidth: false,
    shrinkToFit: false,
    width: 600,
    subGrid: true,
    subGridRowExpanded: function (subgridId, rowid) {
        var $subgrid = $("<table id='"   subgridId   "_t'></table>");
        $subgrid.appendTo("#"   subgridId);
        $subgrid.jqGrid({
            datatype: "local",
            data: $(this).jqGrid("getLocalRow", rowid).files,
            colNames: ["Name", "Filetype", "col3", "col4"],
            colModel: [
                {name: "name", width: 130, key: true, frozen: true},
                {name: "filetype", width: 130, frozen: true},
                {name: "col3", width: 130},
                {name: "col4", width: 130}
            ],
            height: "100%",
            rowNum: 10,
            sortname: "name",
            shrinkToFit: false,
            autowidth: true,
            idPrefix: "s_"   rowid   "_"
        }).jqGrid("setFrozenColumns");
    }
});
$grid.jqGrid("navGrid", "#pager", {add: false, edit: false, del: false});
$grid.jqGrid("setFrozenColumns");
 

});

Ответ №1:

В Guriddo подсеть jqGrid не может использоваться, когда включены замороженные столбцы.

Здесь вы можете прочитать все ограничения Guriddo jqGrid. Мы не знаем, как это происходит в free-jqgrid.

Комментарии:

1. Спасибо. Я думал, что jqGrid и free-jqgrid-это одно и то же. Есть ли какие-либо обходные пути для преодоления этого ограничения?