0

我正在尝试使用数组数据加载 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"}]

谁能帮忙?

4

1 回答 1

0

你会在这里找到你的问题的答案。

你不应该使用addRowData速度慢的,而且大多数情况下会被错误地使用。对于父节点,您应该使用parent: "null"or parent: null。此外,您应该在 TreeGrid 的输入数据中包含其他所需的信息,例如levelisLeaf。所有节点都必须loaded:true将节点保持在本地。

在输入中使用正确的项目顺序很重要。该顺序应与完整展开树中的项目顺序相对应。所以所有的孩子都应该跟随父母。

您应该从colModel未知属性中删除idvisible您可以在文档中找到支持的属性列表。

于 2012-04-21T13:59:08.483 回答