jQuery — загрузка jqGrid — TreeGrid с данными массива

Я пытаюсь загрузить TreeGrid (jqGrid) с данными массива. Но почему-то иерархия не отображается. Данные отображаются только в плоской структуре.

Код:

$("#list").jqGrid({
    treeGrid: true,
    treeGridModel: 'adjacency',
    ExpandColumn: 'label',
    ExpandColClick: true,
    datatype: 'local',
    colNames:['Parent','Org','cd'],
    colModel:[
        {name:'parent',id:'parent',index:'parent', width:250, hidden: true,
            align: 'left', sortable: false, classes: 'indeling', title: false },
        {name:'label',id:'label',index:'label', width:250,align: 'left',
            sortable: false, classes: 'indeling', title: false, visible: false},
        {name:'cd',id:'cd',index:'cd', width:100,align: 'left', sortable: false,
            classes: 'indeling', title: false,visible: false }
    ],
    rowNum: 20000,
    viewrecords: true,
    height: "100%",
    treeIcons: { leaf: 'ui-icon-document-b' },
    hoverrows: false
});

затем я добавляю строки массива в сетку:

$('#list').jqGrid('addRowData',0,array[0]);
$('#list').jqGrid('addRowData',1,array[1]);

Структура массива:

array=[{parent:"",label:"1",cd:"32"},{parent:"1",label:"2",cd:"42"}]

кто-нибудь может помочь?


person Lokn    schedule 21.04.2012    source источник


Ответы (1)


Вы найдете ответ на свой вопрос здесь.

Вы не должны использовать addRowData, который медленный и в основном будет использоваться неправильно. Для родительского узла вы должны использовать parent: "null" или parent: null. Кроме того, вы должны включить во входные данные TreeGrid другую необходимую информацию, например level, isLeaf. Все узлы должны иметь loaded:true для хранения узла локально.

Важно использовать правильный порядок элементов во входных данных. Порядок должен соответствовать порядку элементов в полном развернутом дереве. Поэтому все дети должны следовать за родителем.

Вы должны удалить из colModel неизвестные свойства, такие как id и visible. Список поддерживаемых свойств можно найти в документации.

person Oleg    schedule 21.04.2012