jqGrid TreeGrid扩展节点不显示网格

时间:2015-06-23 15:15:05

标签: jquery jqgrid

单击展开节点,尝试从服务器获取数据并显示子元素。当我点击展开时,网格会被消灭。

这是我的剧本

jQuery("#structureBuilderTable").jqGrid({
    treeGrid: true,
    treeGridModel: 'adjacency',
    ExpandColumn : 'name',
    url: '/CoreWebSamples/rest/manageCart/testData',
    datatype: "json",
    colNames:["id","Name"],
    colModel:[
         {name:'id',index:'id', width:1,hidden:true,key:true},
         {name:'name',index:'name', width:180}              
    ],
    height:'auto',
    pager : "#ptreegrid",
    caption: "Treegrid example",
    jsonReader : { 
        id: "id",
        root: "value",
        repeatitems: false
    }
});

服务器对第一个网格的json响应,如下所示。

{"value":[{"name":"FirstNode","parent":null,"id":"1","level":0,"loaded":false,"isLeaf":false,"expanded":false}],"message":"Service succeeded.","code":"SUCCESS"}

![在此处输入图片说明] [1]

  

第一个网格

点击展开节点。

{"value":[{"name":"SecondNode","parent":"1","id":"2","level":1,"loaded":false,"isLeaf":false,"expanded":false}],"message":"Service succeeded.","code":"SUCCESS"}

和我的屏幕如下

关于调试网格代码。我找到了

if(ts.p.gridview === true ) {
    fpos = ts.p.treeANode > -1 ? ts.p.treeANode: 0;
    if(ts.p.grouping) {
        if(!locdata) {
            self.jqGrid('groupingRender', grpdata, ts.p.colModel.length, ts.p.page, rn);
            grpdata = null;
        }
    } else if(ts.p.treeGrid === true && fpos > 0) {
        $(ts.rows[fpos]).after(rowData.join(''));
    } else {
        $("#"+$.jgrid.jqID(ts.p.id)+" tbody:first").append(rowData.join(''));
    }
}

符合条件

else if(ts.p.treeGrid === true && fpos > 0) {
    $(ts.rows[fpos]).after(rowData.join(''));
}

执行此$(ts.rows[fpos]).after(rowData.join(''));后,没有任何事情发生。

我做错了什么。请指教

1 个答案:

答案 0 :(得分:0)

问题已解决。在代码我有默认滚动:1, 由于这种负载的子数据,网格变得空白。更改了默认网格属性scroll:0。 这解决了问题

感谢您的回复。