javascript - jqGrid TreeGrid问题

标签 javascript jqgrid

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

我有以下代码:

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(参见 the answer)手动添加数据或使用 datatype: "jsonstring", datastr: mydata和附加的 jsonReader(参见 here)。

您的演示可以修改为例如 the following demo .

关于javascript - jqGrid TreeGrid问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12407364/

相关文章:

css - 使 HTML5 表格适合弹出窗口并移除水平滚动条

c# - jqgrid动态格式化列

javascript - Vue.js:转换动画在点击时不起作用

javascript - Jquery - 查找起始元素与该选择器最接近的父元素匹配的所有元素

javascript - Meteor afQuickField 与 onfocus 找不到功能

jquery - 如何让Jqgrid卡住列自动换行

javascript - 编辑行时如何为 jqgrid 中的字段提供不同的下拉选项

javascript - 我们怎么称呼 JS async "strands of execution"?

javascript - 作为单击处理程序附加的函数在单击之前被调用

asp.net-mvc - jQGrid 和 MVC 3.0 ViewModel