我在一个项目中使用jQuery EasyUI treegrid 。
我有一棵加载了一些初始数据的树。之后,当用户单击“添加”按钮时,我需要在树上插入新行。添加点击处理程序具有此代码,并且按预期工作:
var row = $treeGrid.treegrid('getSelected');
if (row) {
var obj = {
id: "x" + ++maxId,
code: "x" + maxId,
amount: 2
};
$treeGrid.treegrid('insert', {
after: row.id,
data: obj
});
$("#txtResult").text("Added a new row: " + obj.id);
}
但是之后当我检查该行的子代(添加了一个新子代)时,它不包括新添加的行。
我已经设置了一个jsFiddle来演示这个问题。要重现它:
在第 2 级选择一行,然后单击添加子项。将根据上面的代码添加一个新行。按钮下方会显示“已添加行”消息。
选择父级并单击“显示子级”按钮。所选行的子项计数显示在按钮下方。
插入行后,我也尝试了treegrid的“acceptChanges”,但仍然没有解决问题。
更新:根据@saigitha-vijay 的回答,看起来使用 append 方法正确更新了底层模型(jsFiddle),但它总是将新行添加为最后一个孩子。无论如何要在特定位置添加新行吗?