jqGrid树网格问题

jqGrid TreeGrid problems

本文关键字:问题 网格 树网 jqGrid      更新时间:2023-09-26

有人能向我解释一下我可能做错了什么吗?

我有以下代码:

function initTable() {

mydata = [{ "id": "1", "brandName": "7 Crown With Honey", "quality": "Standard", "minorRegionName": "North America", "year00": "", "year01": "", "level": "0", "parent": "", "isLeaf": "false", "expanded": "false" },
            { "id": "2", "brandName": "Amaretto di Florio", "quality": "Standard", "minorRegionName": "North West Europe", "year00": "", "year01": "", "level": "1", "parent": "1", "isLeaf": "true", "expanded": "false" },
            { "id": "3", "brandName": "Aniversario Rum", "quality": "Super Premium", "minorRegionName": "South America", "year00": "5", "year01": "6", "level": "1", "parent": "1", "isLeaf": "true", "expanded": "false" },
            { "id": "4", "brandName": "Archers", "quality": "Standard", "minorRegionName": "Asia", "year00": "2", "year01": "1", "level": "0", "parent": "", "isLeaf": "false", "expanded": "false" }
         ];
$("#list2").jqGrid({
    treeGrid: true,
    treeGridModel: 'adjacency',
    ExpandColumn: 'brandName',
            data: mydata,
            datatype: 'local',
            height: 300,
            colNames: ['brandName', 'minorRegionName','quality', 'year00', 'year01'],
            colModel: [{ name: 'brandName', index: 'brandName', width: 200 },
                                { name: 'minorRegionName', index: 'minorRegionName', width: 200 },
                                { name: 'quality', index: 'quality', width: 100},
                                { name: 'year00', index: 'year00', width: 80, align: "right", sorttype: "float", formatter: "number" },
                                 { name: 'year01', index: 'year01', width: 80, align: "right", sorttype: "float", formatter: "number"}],
        rowNum: 30,
        rowList:[10,20,30],
        pager: '#pager2',
        sortname: 'brandName',
        pgtext: "Page {0} of {1}",
        });

    $("#list2").jqGrid('navGrid', '#pager2', { edit: false, add: false, del: false });
    //$("#list2").setGridParam({ datatype: 'local', page: 1, rowNum: 20 }).trigger('reloadGrid');
    }

很简单,它不会生成具有嵌套行的TreeGrid。

我知道数据运行良好,因为如果我评论:

treeGrid: true,
    treeGridModel: 'adjacency',
    ExpandColumn: 'brandName',

毫无疑问,数据显示出来了。

我很确定这是显而易见的,但看不出它是什么。

主要问题是TreeGrid不支持datatype: "local"。因此,您必须手动添加关于addJSONData的数据(请参阅答案),或者使用datatype: "jsonstring"datastr: mydata和其他jsonReader(请参阅此处)。

您的演示可以修改为以下演示。