JQGrid treegrid未按预期扩展

JQGrid treegrid未按预期扩展,jqgrid,Jqgrid,我无法使我的JQGrid树状体正确展开。它是一个分层的邻接网格 展开根节点时,子节点会正确展开和缩进,但它们不会直接放置在节点下 我的json数据有问题吗?我希望首先显示可展开的节点,然后在其下方显示叶节点 示例如下:(我已将所有节点重命名为bob,但仍然可以看到奇怪的扩展行为) 目前,jqGrid只能处理从服务器返回的数据 创建一个返回JSON的简单网页。jqGrid如何构建TreeGrid只是一个小小的误解。您必须提供排序后的数据作为输入。jqGrid只需将所有行按照与网格输入相同的顺序放

我无法使我的JQGrid树状体正确展开。它是一个分层的邻接网格

展开根节点时,子节点会正确展开和缩进,但它们不会直接放置在节点下

我的json数据有问题吗?我希望首先显示可展开的节点,然后在其下方显示叶节点

示例如下:(我已将所有节点重命名为bob,但仍然可以看到奇怪的扩展行为)


目前,jqGrid只能处理从服务器返回的数据


创建一个返回JSON的简单网页。

jqGrid如何构建TreeGrid只是一个小小的误解。您必须提供排序后的数据作为输入。jqGrid只需将所有行按照与网格输入相同的顺序放置。折叠的行将被隐藏。如果用户展开节点,jqGrid将显示以展开节点为父节点的所有行

因此,要解决这个问题,您必须使用输入数据,以便所有直接子级都应该跟随父级。可能您还需要包括第一个不是leaf的节点(具有
isLeaf:false
),然后是leaf的子节点(具有
isLeaf:true
)。此外,您应该按照
sortname
选项对所有节点进行排序(在您的案例中,按照
“name”
列)

顺便说一下,您可以从
colModel
中删除
id
列。jqGrid默认使用输入数据的
id
属性作为rowid的输入(网格
元素的
id
属性的值)


请参阅更新演示

谢谢,我正在从服务器返回数据……我刚刚用简化的数据制作了本地版本,以便在JSFIDLE上显示制作示例。这是Oleg提供的一个工作示例:啊,谢谢Oleg,我想这可能就是问题所在。在返回数据之前,我将尝试对数据服务器端进行排序。对数据进行排序比我想象的要困难…我可能需要问另一个问题来解决它!我已经尝试了一系列的订购组合,但运气不好<代码>列表.OrderBy(x=>x.parent).ThenBy(x=>x.level).ThenBy(x=>x.isLeaf)@woggles:不客气!我同意树状体的排序可能不像第一眼看到的那样简单。数据在数据库中的本机保存方式很重要。如果项目数量不多,那么您可以使用任何可能不是最佳的排序方法。我要求查看是否可以获得进一步的了解@沃格尔斯:我现在很忙,但如果你下次得不到答案,我以后会尽力帮助你。
$(function () {

    var mydata = [{"id":"5a1a9743-3e0f-11d3-941f-006008032006","name":"bob","level":1,"parent":"5a1a9742-3e0f-11d3-941f-006008032006","isLeaf":true,"expanded":false,"loaded":true},{"id":"9042ded8-09ee-46f9-beac-8746ed1cdd17","name":"bob","level":1,"parent":"5a1a9742-3e0f-11d3-941f-006008032006","isLeaf":true,"expanded":false,"loaded":true},{"id":"29846baa-ede0-4582-b9ed-39bcc486f2c2","name":"bob","level":1,"parent":"5a1a9742-3e0f-11d3-941f-006008032006","isLeaf":false,"expanded":false,"loaded":true},{"id":"39cc2783-811f-4885-9af6-d35b1a1385a2","name":"bob","level":1,"parent":"5a1a9742-3e0f-11d3-941f-006008032006","isLeaf":true,"expanded":false,"loaded":true},{"id":"3061ce07-bff6-4d9a-a84a-a8a7d47ebd7a","name":"bob","level":1,"parent":"5a1a9742-3e0f-11d3-941f-006008032006","isLeaf":true,"expanded":false,"loaded":true},{"id":"d1f870ed-bca6-4cc8-8b96-b19fa251c2f8","name":"bob","level":1,"parent":"5a1a9742-3e0f-11d3-941f-006008032006","isLeaf":true,"expanded":false,"loaded":true},{"id":"5a1a9742-3e0f-11d3-941f-006008032006","name":"bob","level":0,"parent":null,"isLeaf":false,"expanded":false,"loaded":true},{"id":"c80ca2d1-8210-4c11-8c6d-005c97fce9cb","name":"bob","level":1,"parent":"5a1a9742-3e0f-11d3-941f-006008032006","isLeaf":true,"expanded":false,"loaded":true},{"id":"d9dadce8-a9ce-4343-a8a0-b80844aa36ad","name":"bob","level":1,"parent":"5a1a9742-3e0f-11d3-941f-006008032006","isLeaf":true,"expanded":false,"loaded":true},{"id":"b3bc918c-4fa6-4470-afdd-d98e3586d434","name":"bob","level":1,"parent":"5a1a9742-3e0f-11d3-941f-006008032006","isLeaf":false,"expanded":false,"loaded":true},{"id":"466d78df-6f39-43ff-abfd-58e7bf91f8c8","name":"bob","level":1,"parent":"5a1a9742-3e0f-11d3-941f-006008032006","isLeaf":true,"expanded":false,"loaded":true},{"id":"be4c23b9-41a2-482f-a37a-33379ea03344","name":"bob","level":1,"parent":"5a1a9742-3e0f-11d3-941f-006008032006","isLeaf":true,"expanded":false,"loaded":true}];                


    $("#treegrid").jqGrid({
    datatype: "jsonstring",
        datastr: mydata,
    colNames: ["id", "partners"],
    colModel: [
                { name: 'id', index: 'id', hidden: true, key: true },
                { name: 'name', index: 'name', width: 500, sortable: false, classes: 'pointer' },                       
    ],
    height: 'auto',
    gridview: true,
    rowNum: 10000,
    sortname: 'name',
    treeGrid: true,
    treeGridModel: 'adjacency',           
    ExpandColumn: 'name',
    jsonReader: {
        repeatitems: false,
        root: function (obj) { return obj; },
        page: function (obj) { return 1; },
        total: function (obj) { return 1; },
        records: function (obj) { return obj.length; }
    }
});        

});