【问题标题】:jqGrid TreeGrid problemsjqGrid TreeGrid 问题
【发布时间】:2012-09-13 13:24:29
【问题描述】:

谁能向我解释一下我可能做错了什么?

我有以下代码:

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',

果然数据显示出来了。

我很确定这很明显,但看不到它是什么。

【问题讨论】:

  • 你确定ExpandColumn这个词是驼峰式的吗?你不应该把它的第一个字母写成小写吗?
  • 老实说,我认为我自己已经尝试了这两种方法,但仍然无法正常工作。 (“ExpandColumn”直接从 jqGrid 网站复制)

标签: javascript jqgrid


【解决方案1】:

主要问题是 TreeGrid 不支持datatype: "local"。所以你必须手动添加关于addJSONData的数据(见the answer)或使用datatype: "jsonstring"datastr: mydata和额外的jsonReader(见here)。

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

【讨论】:

  • 奥列格,非常容易理解的答案,非常感谢。很高兴看到你的例子也证实了“ExpandColumn”,所以我(其他人?)知道记录。再次感谢您提供这样一个可以理解的答案。
  • @JasonMHirst:不客气! jqGrid 似乎是在没有明确名称转换的情况下开发的。所以有像ExpandColumndatatypecolNames这样的选项,而不是像expandColumndataTypecolNames这样的常见样式或名称。如果您使用 jqGrid,则必须遵循现有名称。
猜你喜欢
  • 1970-01-01
  • 2011-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多