jqGrid инициализируется пустым при использовании данных JSON - PullRequest
0 голосов
/ 23 июня 2011

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

Я пытаюсь сгенерировать jqGridtreeGrid, используя следующий код:

      jQuery("#structureBuilderTable").jqGrid({
        url: 'tree.json',
        datatype:'json',
        mtype:'GET',
        colNames: ["ID", "Description", "Total"],
        colModel: [
        {name:'id', index:'id', width: 1, hidden: true, key: true},
        {name:'desc', index:'desc', hidden: false, sortable: true},
        {name:'num', index:'num', hidden: false, sortable: true}
        ],
        treeGridModel:'adjacency',
        height:'auto',
        width:'500',
        pager:"#ptreegrid",
        treeGrid: true,
        ExpandColumn:'desc',
        ExpandColClick: true,
        caption:"TreeGrid Test"
      });

Это мой файл .json (для примера):

{
    "total": "1",
    "page": "1",
    "records": "2",
    "rows": [
           {"id": "1", "cell": ["1", "Super Item", "300", "0", "null", "false", "false"]},
           {"id": "2", "cell": ["2", "Item 1", "100", "1", "1", "false", "false"]},
           {"id": "3", "cell": ["3", "Sub Item 1", "50", "2", "2", "true", "true"]},
           {"id": "4", "cell": ["4", "Sub Item 2", "25", "2", "2", "false", "false"]},
           {"id": "5", "cell": ["5", "Sub-sub Item 1", "25", "3", "4", "true", "true"]},
           {"id": "6", "cell": ["6", "Sub Item 3", "25", "2", "2", "true", "true"]},
           {"id": "7", "cell": ["7", "Item 2", "200", "1", "1", "false", "false"]},
           {"id": "8", "cell": ["8", "Sub Item 1", "100", "2", "7", "false", "false"]},
           {"id": "9", "cell": ["9", "Sub-sub Item 1", "50", "3", "8", "true", "true"]},
           {"id": "10", "cell": ["10", "Sub-sub Item 2", "50", "3", "8", "true", "true"]},
           {"id": "11", "cell": ["11", "Sub Item 2", "100", "2", "7", "true", "true"]}
    ]
}

(это в значительной степени прямая копия руководства, которое я нашелонлайн).

Теперь сетка генерируется, но не содержит никаких данных.Файл javascript находится в том же каталоге, что и tree.json, но почему-то он его не находит.Я использовал следующее для целей отладки:

loadError: function (xhr, status, error) {alert (status + error)}

, и это предупреждение Iполучил:

errorNot Found

Любая помощь будет значительно оценена.

1 Ответ

0 голосов
/ 23 июня 2011

Я надеюсь, что демонстрационная версия , созданная на основе ваших данных JSON и jqGrid, поможет вам найти ошибку в вашем коде. Возможно, вы просто забыли разместить код, который создает сетку внутри jQuery(function(){/**/});.

Только один совет: если вы хотите, чтобы какой-то узел дерева был показан развернутым, как в моей демонстрации, вам нужно будет установить не только значение «истина» в последнем столбце («расширенный» скрытый столбец), но и добавить «истинное» значение для скрытого «загруженного» столбца древовидной сетки. См. здесь и здесь для получения более подробной информации.

...