Jqgrid Treegrid在更新本地源数据时重新加载节点

Jqgrid Treegrid reloading a node on updating the local source data

本文关键字:新加载 加载 节点 数据 Treegrid 更新 Jqgrid      更新时间:2023-09-26

我创建了一个带有本地数据的Treegrid

$("#historyGrid").jqGrid({
    datatype: "jsonstring",
    datastr : treeGridObject ,
    colNames:["Id","Channel","Current","History","Delta"],
    colModel:[
        {name:'id', index:'Id', width:120, hidden : true , key:true},
        {name:'channel', index:'Name', width:180},
        {name:'current', index:'Current', width:80},
        {name:'history', index:'History', width:80},
        {name:'delta', index:'Delta', width:80}
    ],
   height: 'auto'  ,
    gridview: true,
    rowNum: 10000,
    sortname: 'id',
    treeGrid: true,
    treeGridModel: 'adjacency',
    treedatatype: "local" ,
    ExpandColumn: 'channel' ,
    treeReader: {
        level_field: "level",
        leaf_field: "isLeaf",
        expanded_field  : "expanded"
      }
});  

我必须在单击动态加载的特定父节点时添加子节点。为此,更新本地源数据后该怎么办
现在我在更新源数据(添加行信息)后调用下面的行。这似乎重新加载了整个树网格。有没有一种方法可以只重新加载我单击的节点?

$("#historyGrid")[0].addJSONData({
                       total: 1,
                       page: 1,
                       records: treeGridObject.length,
                       rows: treeGridObject
                   });

我已经试过$("#historyGrid").addChildNode(treeGridRow.id , rc._id_ , treeGridRow);了。这不起作用。

你能这样试试吗?

$("#historyGrid").jqGrid('addChildNode', treeGridRow.id , rc._id_ , treeGridRow);