Jquery EasyUI Treegrid-插入方法不更新子集合
我正在一个项目中使用 我有一个加载了一些初始数据的树。之后,当用户单击Add按钮时,我需要在树上插入新行。“添加单击”处理程序具有以下代码,并且它的工作方式与预期的有所不同:Jquery EasyUI Treegrid-插入方法不更新子集合,jquery,treegrid,jquery-easyui,Jquery,Treegrid,Jquery Easyui,我正在一个项目中使用 我有一个加载了一些初始数据的树。之后,当用户单击Add按钮时,我需要在树上插入新行。“添加单击”处理程序具有以下代码,并且它的工作方式与预期的有所不同: var row = $treeGrid.treegrid('getSelected'); if (row) { var obj = { id: "x" + ++maxId, code: "x" + maxId, amount: 2 }; $treeG
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);
}
但是,当我检查添加了新子行的行的子行时,它不包括新添加的行
我已经设置了一个程序来演示这个问题。要复制它:
在第二级选择一行,然后单击“添加子级”。将按照上述代码添加一个新行。按钮下方将显示“添加行”消息
选择父对象并单击“显示子对象”按钮。所选行的子项计数显示在按钮下方
在插入行之后,我也尝试接受treegrid的更改,但它仍然不能解决问题
更新:根据@saigitha-vijay-answer,似乎使用append方法可以正确更新基础模型,但它总是将新行添加为最后一个子行。是否仍要在特定位置添加新行?在“插入”中使用“附加”。在这个方法中,u也可以传递父id 例如
$('#tt').treegrid('append',{
parent: node.id, // the node has a 'id' value that defined through 'idField' property
data: [{
id: '073',
name: 'name73'
}]
});
我修改了你的代码,因为它工作正常
var obj = [{
id: "x" + ++maxId,
code: "x" + maxId,
amount: 2
}];
$treeGrid.treegrid('append', {
parent: row.id,
data: obj
});
这里是使用添加和工作的小提琴:但是如何插入行呢?您可以有两个按钮作为添加和插入后。。。在“添加按钮事件”中使用“追加”方法,在“插入”之后使用“插入”方法。