1

私が間違っているかもしれないことを誰かに説明してもらえますか?

次のコードがあります。

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

案の定、データが表示されます。

明らかなことだと確信していますが、それが何であるかはわかりません。

4

1 に答える 1

2

主な問題は、TreeGrid が をサポートしていないことdatatype: "local"です。したがって、データを手動で追加する必要があります(回答addJSONDataを参照)または使用、および追加(こちらを参照)。datatype: "jsonstring"datastr: mydatajsonReader

デモは、たとえば次のデモに変更できます。

于 2012-09-13T16:07:19.727 に答える